SOLID (객체 지향 설계)
[Java] 객체지향 설계 5원칙 - SOLID란 무엇일까?
SOLID 원칙에 대하여
클린 코더스 강의 12. SOLID Foundation
[디자인패턴, SOLID] 객체지향 설계 5대 원칙
[디자인패턴] SOLID 원칙
SOLID 원칙
SOLID 원칙이란, 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯가지 기본 원칙을 마이클 페더스가 두문자어 기억술로 소개한 것이다. - 위키
- 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때, 이 원칙들을 함께 적용할 수 있다.
SOLID 원칙
-
SRP (Single Responseibility Principle) : 단일 책임 원칙
- 클래스와 메소드는 한가지의 역할만을 가져야 한다.
-
OCP (Open-Closed Principle) : 개방 폐쇠 원칙
- 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.
- 기존의 코드를 변경하지 않으면서 ( closed ) , 기능을 확장할 수 있도록 ( open ) 설계가 되어야 한다.
- Kotlin 의 Extension 키워드가 이 원칙을 잘 지키도록 되어있다.
-
LSP (Liskov Substition Principle) : 리스코프 치환 원칙
- 서브 타입은 언제나 자신의 기반(상위) 타입으로 교체할 수 있어야 한다.
- 서브 타입을 함수를 사용하고 있다면, 상위 타입으로 캐스팅해서 함수를 사용해도 문제가 없어야 된다.
- List.add → Collection.add