객체 지향 5원칙 간단 정리
객체 지향 5원칙
객체 지향에서 꼭 지켜야 할 5개의 원칙
객체 지향에서 꼭 지켜야 할 5개의 원칙
SOLID : 5개 원칙의 앞글자들
-
SRP : 단일 책임 원칙
객체는 오직 하나의 책임(기능) 만 가져야 함
-
OCP : 개방-폐쇄 원칙
객체의 기능의 확장에 대해서는 개방적이고 스스로의 변경(수정)에 대해서는 폐쇄적이어야 함
-
LSP : 리스코프 치환 원칙
자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있어야 함
지키지 않을 시 부모 클래스의 의미가 변하여 is-a 관계마 망가져 다형성 지킬 수 없게 됨
-
ISP : 인터페이스 분리 원칙
클라이언트에서 사용하지 않는 메서드는 사용해선 안 됨
큰 덩어리의 인터페이스들을 구체적이고 작은 단위로 분리시켜 클라이언트들이 꼭 필요한 메서드들만 이용할 수 있게 해야 함
작은 단위들을 역할 인터페이스
시스템의 내부 의존성을 약화시켜 리팩토링, 수정, 재배포를 쉽게 함
-
의존성 역전 원칙
추상성이 높고 안정적인 고수준의 클래스는 구체적이고 불안정한 저수준의 클래스에 의존해서는 안 됨
상위 계층(정책 결정), 하위 계층(세부 사항)에 의존하는 전통적인 의존 관계를 반전 시켜 상위 계층이 하위 계층의 구현으로부터 독립할 수 있음
-
내용
-
상위 모듈은 하위 모듈을 의존해서는 안 됨. 상위 모듈, 하위 모듈 모두 추상화에 의존해야 함
-
추상화는 세부 사항에 의존해서는 안 됨. 세부사항이 추상화에 의존해야 함
-
-
-
DIP : 의존성 역전 원칙