객체지향의 특성을 프로그램에 잘 적용하기 위해 만들어진 원칙.
각 앞글자를 따서 SOLID라고 한다
- Single Responsebility Principle 단일 책임 원칙
어떤클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다. (클래스 역할 단순화)
- Open Closed P 개방 폐쇄 원칙
자신의 확장에는 열려있고, 주변의 변화에 대해서는 닫혀 있어야 한다. (상호작용하는 객체를 인터페이스화)
- Liskov Subsitution P 리스코프 치환 원칙
서브 타입은 언제나 자신의 기반 타입으로 교체할수 있어야 한다. (is kind of 관계 확인)
- Interface Segeregation P 인터페이스 분리 원칙
클라이언트는 자신이 사용하지 않는 메서드에 의존 관계를 맺으면 안된다. (SRP의 다른 방법, 특징을 인터페이스로 분리)
- Dependency Inversion P 의존 역전 원칙
자신보다 변하기 쉬운 것에 의존하지 마라. (자주 바뀔수 있는 클래스를 인터페이스로 교체)
정처기 필기에서 나오는 내용을 구체적 사례를 통해 알게 되어서 재밌다. feat. 스프링입문을 위한 자바 객체지향의 원리와 이해