1. 객체지향 설계 원칙
- 객체지향 프로그래밍 설계를 할 때 프로그래머가 시간이 지나도 유지보수와 확장이 용이한 시스템을 만들고자 할 때 적용하는 원칙이다.
2. 객체지향 설계 원칙 종류
용어 | 개념 |
단일 책임 원칙 (SRP, Single responsibility principle) |
한 클래스는 하나의 책임만 가져야 한다. |
개방 폐쇄 원칙 (OCP, Open/closed principle) |
소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀 있어야 한다. |
리스코프 치환 원칙 (LSP, Liskov substitution principle) |
프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 서브타입(하위클래스)은 어디서나 자신의 기반타입(상위클래스) 인스턴스로 바꿀 수 있어야 한다. |
인터페이스 분리 원칙 (ISP, Interface segregation principle) |
특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다. |
의존관계 역전 원칙 (DIP, Dependency inversion principle) |
추상화에 의존해야지, 구체화에 의존하면 안된다. |
▶ SOLID
정보처리기사 필기 기출문제
17. 객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위클래스)으로 교체할 수 있어야 함을 의미하는 원칙은? ③ [정답률: 60%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제) |
|
① ISP(Interface Segregation Principle) | |
② DIP(Dependency Inversion Principle) | |
③ LSP(Liskov Substitution Principle) | 서브(하위)타입과 기반(상위)타입 교체 내용이 나오면 LSP(리스코브 교체 원칙) |
④ SRP(Single Responsibility Principle) |
5. 다음 내용이 설명하는 객체지향 설계 원칙은? ① [정답률: 77%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제) |
|
- 클라이언트는 자신이 사용하지 않는 메서드와 의존 관계를 맺으면 안 된다. - 클라이언트가 사용하지 않는 인터페이스 떄문에 영향을 받아서는 안 된다. |
|
① 인터페이스 분리 원칙 | 객체지향 설계 원칙에서 인터페이스 관련 내용이 나오면 ISP(인터페이스 분리 원칙) |
② 단일 책임 원칙 | |
③ 개방 폐쇄의 원칙 | |
④ 리스코프 교체의 원칙 |