Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- unrealengineai
- 게임개발
- c++class
- 언리얼엔진
- c++용어정리
- 자료구조정리
- c언어정리
- 자료구조
- bttask
- directx
- leveleditor
- uaiperception
- 언리얼엔진공부
- 게임엔진튜토리얼
- 월드아웃라이너
- 언리얼ai
- c++
- 프로그래밍
- 각도변환
- 25.06.11dir
- DX
- 영단어정리
- 수학용어정리
- 자료형타입
- livrary
- c++porinter
- 프로그래밍일기
- 언리얼엔진5
- 언리얼비헤이어비어트리
- ipc(inter process communication)
Archives
- Today
- Total
루리코딩 세상
OOP_추상화(Abstraction) 본문
복잡한 내부 구현을 숨기고, 중요한 기능만 외부에 제공해주는 기능을 추상화(Abstraction)라 한다.
C++에서 추상화 기능을 구현하는 방법은 접근 제어자, 추상 클래스&순수 가상 함수. 인터페이스 등을
사용하여, 추상화를 설계한다.
접근 제어자(private, public, protected)
(private : 내부 구현, 접근 제한) (public : 외부에 보이는 기능)
(protected : 해당 클래스 자신과 해당 클래스를 상속받은 자식 클래스에서는 접근이 가능하다.)
접근 제어자 | 동일 클래스 | 자식 클래스 | 외부(Objcet) |
public | O | O | O |
protected | O | O | ❌ |
private | O | ❌ | ❌ |
추상 클래스 & 순수 가상 함수
인터페이스만 정의한다. 상속받는 자식 클래스가 구현하게 하는 기능을 제공한다.
class Animal {
public:
virtual void speak() = 0; // 순수 가상 함수
};
class Dog : public Animal {
public:
void speak() override { std::cout << "멍멍!" << std::endl; }
};
인터페이스 설계
여러 구현을 하나의 인터페이스로 다룰 수 있게한다.
void makeAnimalSpeak(Animal* a) {
a->speak(); // Dog, Cat, Bird 모두 이 함수 사용 가능
}
'이론 > C++ 키워드 정리' 카테고리의 다른 글
다형성 : Polymorphism (0) | 2025.06.09 |
---|---|
인텔리센스(IntelliSense) (0) | 2025.06.08 |
추상 클래스, Template Method Pattern (0) | 2025.06.07 |
c++ : l-value, r-value : 좌측값과 우측값 (0) | 2025.06.04 |
디자인 패턴 (0) | 2025.06.02 |