반응형
오늘 공부한 내용📓
- C++
개념 공부
추상화(Abstract)
- 객체의 공통적인 특징과 기능을 하나의 추상 클래스로 표현하는 것
- 실제로 구현되지 않은 순수한 가상 함수들을 가지고 있는 추상 클래스를 의미
- 추상 클래스는 인스턴스를 생성할 수 없으며, 그 자체로 완전한 클래스가 아님
- 추상 클래스는 단지 인터페이스 역할이며, 이를 상속받은 파생 클래스에서 정의된 순수 가상 함수들을 반드시 구현하여야 함.
- 이를 통해 다형성을 구현하는 기반을 마련하고, 다른 클래스들 간의 공통된 인터페이스를 정의하여 객체 지향 프로그래밍의 유연성과 재사용성을 증가
- 추상 클래스를 정의하기 위해서는 하나 이상의 순수 가상 함수를 포함해야 함
- 순수 가상 함수(pure virtual function)는 ‘virtual’ 키워드와 함께 선언되며, 함수 바디가 없고 ‘= 0’ 으로 정의됨
- 이를 통해 파생 클래스에서 해당 함수들을 오버라이딩하여 실제 기능 구현
class AbstractClass { public: virtual void example() = 0; }
인터페이스(Interface)
//인터페이스 선언
class Interface {
public:
virtual void example1() = 0;
virtual void example2() = 0;
}
//인터페이스를 상속하는 클래스 정의
class MyClass : public Interface
{
public:
void example1()
{
//함수구현
}
void example()
{
/
- 순수 가상 함수로만 구성된 클래스로, 실제로 구현을 갖지 않는 추상화된 형태의 클래스
- 다형성을 활용하여 서로 다른 클래스들을 통일된 인터페이스를 사용하게 하여 코드의 재사용성과 유지 보수성을 향상
- 인터페이스는 클래스의 외부와의 통신을 위한 계약으로 볼 수 있고, 특정 기능을 수행하는 메서드의 시그니처(함수 원형)만을 제공
제가 공부한 내용을 기록하고 있습니다.
혹시 수정이 필요한 부분이 있다면, 댓글로 지적 부탁드립니다!
선한 관심과 도움 감사드립니다😊
반응형
'TIL::Today I Learn' 카테고리의 다른 글
GitHub push 시 매번 암호(Token) 요구하는 현상 해결하기 (0) | 2024.05.12 |
---|---|
[TIL] 20230727 (0) | 2023.07.28 |
[TIL] 20230723 (0) | 2023.07.28 |
[TIL] 20230721 (0) | 2023.07.28 |
[TIL] 20230720 (0) | 2023.07.28 |