객체 지향 설계에서 사용하는 5가지 원칙에 대해 각각 정리하고자 한다.
1. 단일 책임 원칙 (SRP, Single Responsibility Principle)
- 설명 : 클래스는 단 하나의 책임만 가져야 한다.
- 의미 : 하나의 클래스가 하나의 기능만 담당해야 하며, 변경이 필요한 이유가 오직 하나여야 한다.
2. 개방-폐쇄 원칙 (OCP, Open/Closed Principle)
- 설명 : 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다.
- 의미 : 기존 코드를 수정하지 않고 기능을 확장할 수 있도록 설계해야 한다.
3. 리스코프 치환 원칙 (LSP, Liskov Substitution Principle)
- 설명 : 자식 클래스는 부모 클래스를 대체할 수 있어야 한다.
- 의미 : 부모 클래스가 사용되는 모든 곳에서 자식 클래스를 대체해도 프로그램이 정상적으로 동작해야 한다.
4. 인터페이스 분리 원칙 (ISP, Interface Segregation Principle)
- 설명 : 클라이언트가 자신이 사용하지 않는 기능에 의존하지 않도록 인터페이스를 분리해야 한다.
- 의미 : 하나의 거대한 인터페이스보다 여러 개의 작은 인터페이스를 만들어야 한다.
5. 의존 역전 원칙 (DIP, Dependency Inversion Principle)
- 설명 : 고수준 모듈은 저수준 모듈에 의존해서는 안 된다. 둘 다 추상화에 의존해야 한다.
- 의미 : 구체적인 구현이 아니라 인터페이스(추상 클래스)에 의존해야 한다.
'IT > CS' 카테고리의 다른 글
[기타] SEO(Search Engine Optimization, 검색 엔진 최적화)란? (0) | 2025.04.20 |
---|---|
[CS] 쓰레싱(Thrashing) 이란? (0) | 2025.04.19 |
[CS] CRDT (0) | 2024.12.11 |
[CS] .so 파일과 .a 파일 비교 (1) | 2024.12.11 |
[CS] 사용자 패스워드 전송/보관 방법 (1) | 2024.12.11 |