본문 바로가기
  • _^**_
무근본 IT 지식 공유/무근본 자바(JAVA)

[무근본자바(JAVA)] OOP의 다섯가지 설계 원칙이 뭔데? 쉽게 설명해줄게

by 크리드로얄워터 2023. 8. 22.
반응형

OOP란 거대한 숲과 같다

 

OOP의 5가지 설계 원칙은 "SOLID"라는 약어로 알려져 있습니다. SOLID 원칙은 객체 지향 프로그래밍과 설계에 있어서 효율적이고, 유지보수가 용이한, 확장성 있는 시스템을 만들기 위한 핵심 원칙들을 의미합니다. 각 원칙은 다음과 같습니다:

1. S - 단일 책임 원칙 (Single Responsibility Principle, SRP)
   - 한 클래스는 하나의 책임만 가져야 한다는 원칙입니다. 즉, 클래스가 변경되어야 하는 이유는 오직 하나뿐이어야 합니다. 이 원칙을 따르면, 각 클래스는 명확한 목적을 가지게 되어 코드의 유지보수가 용이해집니다.

2. O - 개방-폐쇄 원칙 (Open-Closed Principle, OCP)
   - 소프트웨어의 구성요소(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다는 원칙입니다. 즉, 기존의 코드를 변경하지 않고도 새로운 기능을 추가할 수 있어야 합니다.

3. L - 리스코프 치환 원칙 (Liskov Substitution Principle, LSP)
   - 서브타입은 언제나 기반 타입으로 교체될 수 있어야 한다는 원칙입니다. 즉, 자식 클래스는 부모 클래스의 역할을 완벽하게 대체할 수 있어야 합니다.

4. I - 인터페이스 분리 원칙 (Interface Segregation Principle, ISP)
   - 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 않아야 한다는 원칙입니다. 즉, 너무 많은 기능을 가진 무거운 인터페이스보다는, 구체적인 여러 개의 인터페이스가 낫다는 것을 의미합니다.

5. D - 의존 역전 원칙 (Dependency Inversion Principle, DIP)
   - 고수준의 모듈은 저수준의 모듈에 의존하면 안 되며, 둘 다 추상화에 의존해야 한다는 원칙입니다. 즉, 구체적인 구현에 의존하기보다는 추상화된 것에 의존해야 합니다.

SOLID 원칙은 객체 지향 설계의 품질을 높이기 위한 핵심 가이드라인으로, 이 원칙들을 잘 따르면 유지보수와 확장성이 높은 효율적인 코드를 작성할 수 있습니다.

반응형

댓글