개발놀이터
면접 준비 : 객체지향의 5대 원칙 SOLID 본문
Q. 객체지향의 5대원칙 (SOLID)에 대해서 설명해주세요.
A. 객체지향의 5대원칙은 SOLID라고 불리며 각각 SRP, OCP, LSP, ISP, DIP로 이루어져 있습니다. SRP는 단일책임 원칙으로 한 클래스에 하나의 책임만 가져야 한다는 원칙입니다. OCP는 개방-폐쇄 원칙으로 확장에는 열려 있으나 변경에는 닫혀 있어야 한다는 원칙입니다. 이는 다형성을 활용해야 합니다. LSP 리스코프 치환 원칙으로 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 하는 원칙입니다. 리스코프 치환 원칙에 따르면 상위 타입을 상속해서 재정의 했을 때 프로그램이 깨지지 않아야 합니다. ISP는 인터페이스 분리 원칙으로 클라이언트는 자신이 사용하지 않는 메서드에 의존 관계를 맺으면 안된다는 원칙입니다. 특정 클라이언트를 위한 인터페이스 여러개가 범용 인터페이스 하나보다 더 낫습니다. 즉, 비대한 인터페이스보단 더 작고 구체적인 인터페이스로 분리해야 합니다. DIP는 의존관계 역전 원칙으로 추상적인 것은 자신보다 구체적인 것에 의존하지 않고, 변화하기 쉬운 것에 의존해서는 안된다는 원칙입니다. 구체적으론 구현 클래스에 의존하지 않고, 추상 클래스에 의존해야 한다는 것 입니다.
https://coding-review.tistory.com/138
1
'CS 지식 > 면접준비' 카테고리의 다른 글
면접 준비 : 원시타입과 참조타입 (0) | 2022.08.01 |
---|---|
면접 준비 : 동일성(identity)과 동등성(equality) (0) | 2022.08.01 |
면접 준비 : 정적 (static) (0) | 2022.07.28 |
면접 준비 : 어노테이션 (0) | 2022.07.20 |
면접 준비 : 제네릭 (0) | 2022.07.17 |