본문 바로가기
기출문제분석/소프트웨어공학

SOLID

by nooree 2021. 1. 29.

2020년 서울시 7급

로버트 마틴이 주장한 다섯 가지 설계 원칙(SOLID) 중, 기존의 코드를 변경하지 않으면서 새로운 기능을 추가할 수 있도록 설계하는 원칙은?

① 단일 책임 원칙(SRP, Single Responsibility Principle)

② 개방 폐쇄 원칙(OCP, Open Closed Principle)

③ 인터페이스 분리 원칙(ISP, Interface Segregation Principle)

④ 리스코프의 교체 원칙(LSP, Liskov Substitution Principle)


2019년 국가직 7급

 

그림과 같이 서비스 구현 클래스의 a( ), b( ) 연산을 사용하는 클라이언트 클래스가 서비스 구현 클래스에 직접 의존하는 관계에서 클라이언트 클래스가 서비스 인터페이스에 의존하고 서비스 구현 클래스는 서비스 인터페이스를 구현하는 것으로 설계를 변경하였다. 다음 중 이와 가장 관련이 깊은 SOLID 설계 원칙은?

① 단일 책임 원칙(Single Responsibility Principle)
② 리스코프 치환 원칙(Liskov Substitution Principle)
③ 의존관계 역전 원칙(Dependency Inversion Principle)
④ 인터페이스 분리 원칙(Interface Segregation Principle)


2015년 국가직 7급

 

클래스 설계 원칙에 대한 설명으로 옳은 것은?


① 인터페이스 분리(Interface Segregation) 원칙
    추상 클래스나 인터페이스에 의존하지 않고 자주 변경되는 클래스에 의존해야 한다.
② 개방-폐쇄(Open-Closed) 원칙
    클래스는 확장(extension)에 대해서는 열려있어야 하며 변경(change)에 대해서 닫혀있어야 한다.
③ 리스코프 교체(Liskov Substitution) 원칙
    여러 개의 책임을 가진 클래스는 하나의 책임을 가진 클래스로 대체되어야 한다.
④ 의존 관계 역전(Dependency Inversion) 원칙
    클라이언트는 자신이 사용하는 메소드와 의존 관계를 갖지 않도록 해야 한다.


2019년 정보시스템감리사

 

다음 클래스 다이어그램은 주문처리 기능에 대한 설계를 보여 준다. 이 클래스 다이어그램에 적용된 설계 원칙으로서 가장 적절한 것은?

① SRP(Single Responsibility Principle)
② ISP(Interface Segregation Principle)
③ DIP(Dependency Inversion Principle)
④ LSP(Liskov Substitution Principle)


2017년 정보시스템감리사

 

다음에서 윗부분 코드는 클래스 설계를 위한 5대 원칙 중 하나를 위반한 사례이고, 아랫부분 코드는 해당 원칙을 준수한 사례이다. 여기에 적용된 클래스 설계 원칙으로 가장 적절한 것은? (단, 여기에 보이는 코드는 완전한 코드의 일부분으로서 동작하는데 전혀 문제가 없으며 동일한 기능을 수행한다고 가정함)

① 개방-폐쇄의 원칙(open-closed principle)
② 단일 책임의 원칙(single-responsibility principle)
③ 리스코프 교체 원칙(liskov substitution principle)
④ 의존관계 역전의 원칙(dependency inversion principl


2016년 정보시스템감리사

 

다음 그림은 클래스 다이어그램과 시퀀스 다이어그램에 바탕을 둔 설계의 일부이다. 본 설계가 위반한 설계 원칙으로 가장 적절한 것은?

① SRP(Single Responsibility Principle)
② LSP(Liskov Substitution Principle)
③ ISP(Interface Segregation Principle)
④ DRY(Don't Repeat Yourself)

 

 

 


스스로 학습하여 문제를 풀어보고 중요한 포인트만 이곳에 남겨야겠다.

 

문제 풀이에 참고할 자료링크

 

https://www.nextree.co.kr/p6960/

 

객체지향 개발 5대 원리: SOLID

현재를 살아가는 우리들은 모두 일정한 원리/원칙 아래에서 생활하고 있습니다. 여기서의 원칙 이라 함은 좁은 의미로는 개개인의 사고방식이나 신념, 가치관 정도가 될 수가 있겠고, 넓게는 한

www.nextree.co.kr

https://defacto-standard.tistory.com/category/Design%20Pattern/References

 

'Design Pattern/References' 카테고리의 글 목록

 

defacto-standard.tistory.com

 

'기출문제분석 > 소프트웨어공학' 카테고리의 다른 글

SOLID  (0) 2021.01.29

댓글0