1. 개요
모던 객체지향 설계란,
- 객체지향 프로그래밍의 원칙을 따른다.
- C++의 기능을 활용하여 더 안전하고, 효율적이며, 유지보수 가능한 코드를 작성하는 것이다.
2. 객체지향의 기본 원칙
클래스는 기본적으로 멤버 변수와 멤버 메서드로 구성되어 있다.
클래스는 정보와 그 정보로 작동되는 동작을 가지고 있다.
2.1 캡슐화 (Encapsulation)
- 데이터를 객체 내부로 숨긴다.
- 데이터를 객체 외부로 공개할 때 메서드로만 접근하도록 설계한다. (= 캡슐화한다.)
- 캡슐화는 클래스를 만들 때 클래스와 관련된 데이터와 동작으로 설계하여야 한다.
2.2 상속 (Inheritance)

- 부모 클래스로부터 속성과 메서드를 상속받아 코드 재사용을 극대화한다.
- 여러 클래스가 동일한 기능을 가지고 있을 수 있음으로 상속을 사용한다.
2.3 다형성 (Polymorphism)

- 동일한 인터페이스를 공유하는 객체들이 각자의 구현을 제공한다.
- 하나의 함수를 호출하지만 객체마다 다른 기능이 호출되면 다형성이 적용된다.
- 하나의 인터페이스를 정의했지만 해당 인터페이스는 다양한 형태를 가질 수 있다. (다형성)
2.4 추상화 (Abstration)

- 세부 내용을 알지 못하더라도 어떤 것이 동작할 것이다라고 알 수 있게 설계하는 것을 추상화라고 한다.
- 추상화는 캡슐화가 필요하다. (내부를 숨기는)
- 추상화는 다형성을 따라야 한다.
참고
'Design Pattern' 카테고리의 다른 글
| [Design Pattern] 전략 패턴 (0) | 2025.04.02 |
|---|---|
| [Design Pattern] 디자인 패턴 (0) | 2025.04.01 |
| [DesignPattern] 모던 객체지향 설계 - 활용 예시 (0) | 2025.04.01 |
| [DesignPattern] 모던 객체지향 설계 - 추가 원칙 (0) | 2025.03.31 |
| [DesignPattern] 디자인 패턴 (1) | 2025.01.08 |
