-
[C/C++ 강좌] 86강. 객체 지향 프로그래밍의 4대 원리 (2)C++ 2022. 1. 20. 19:50
https://www.youtube.com/watch?v=70Va0l_GK2s&list=PLlJhQXcLQBJqywc5dweQ75GBRubzPxhAk&index=91
3. 다형성(Polymorphism)
다형성이란?
- 한 클래스가 그로부터 파생된 다양한 형태를 지닐 수 있음
다형성을 사용할 때
- 자식 클래스의 메서드 구현이 부모 클래스와 다를 때
다형성을 사용하는 이유
- 자식 클래스에서 하고 싶은 일들이 부모 클래스에서와 다를 수 있기 때문이다.
다형성을 사용하는 방법
- 오버라이딩, 가상 함수 ( RTTI, 다형적 클래스 )
4. 추상화
추상화란?
- 부모 클래스 : 클래스가 구현해야 할 기능만을 명시 ( 순수 가상함수 )
- 자식 클래스 : 실제로 구현
추상화를 사용할 때
- [자식 클래스] [부코 클래스]할 수 있어야 한다. ( A is able to B )
예를들어, 자동차 추상클래스를 만들면 운전대, 페달, 기어 변속기 등의 기능을 순수 가상함수로 선언하여 자식클래스에서 구현하게 한다. 각 부품의 작동 원리는 자동차 종류마다 다르다.
캡슐화는 클래스 내의 추상화고 추상화는 클래스 간의 추상화다.
'C++' 카테고리의 다른 글
[C/C++ 강좌] 90강. 정사각형-직사각형 문제 (0) 2022.01.21 [C/C++ 강좌] 89강. 다중 상속과 다이아몬드 문제 (0) 2022.01.21 [C/C++ 강좌] 85강. 객체 지향 프로그래밍의 4대 원리 (1) (0) 2022.01.20 [C/C++ 강좌] 84강. 상속에서의 형변환 (3) - RTTI와 dynamic_cast (0) 2022.01.20 [C/C++ 강좌] 83강. 상속에서의 형변환 (2) - 다운캐스팅 (0) 2022.01.20