SRP(Single Responsiblity Principle)
단일 책임 원칙
- 클래스는 단 한 개의 책임을 가져야 한다.
- 단일 책임을 정하는 기준: 한 객체의 변경 이유는 단 한가지이어야 한다.
- 참고링크: 클린코드 10장 클래스
클린코드 내용 캡쳐

=> 충분히 작지 않다.

=> 변경 이유는 단 한가지. SRP를 만족하는 클래스다.
LSP(Liscov Substitution Principle)
리스코프 치환 법칙
- 상위 타입의 객체를 하위 타입의 객체로 치환해도 상위 타입을 사용하는 프로그램은 정상적으로 동작해야 한다.
위반한 사례
- 직사각형 vs 정사각형
- UISwitch는 size를 바꿔도 사이즈가 바뀌지 않는다 -> 리스코프 치환 법칙 위반!
- UISwitch는 아래처럼 코드를 작성해야 사이즈가 바뀝니다.
let switch = UISwitch()
switch.transform = CGAffineTransform(scaleX: 0.75, y: 0.75)
'객체지향의 사실과 오해' 카테고리의 다른 글
객체지향의 사실과 오해 2장 정리 (0) | 2022.05.08 |
---|---|
객체지향의 사실과 오해 1장 정리 (0) | 2022.05.08 |