모두CBT

sort() 알고리즘을 상속받은 여러 순서정렬 알고리즘들이 다형성을 이… | [경찰간부후보생 소프트웨어공학] 23년 1회차 기출문제 상세 페이지

1[경찰간부후보생 소프트웨어공학] 23년 1회차
sort() 알고리즘을 상속받은 여러 순서정렬 알고리즘들이 다형성을 이용하여 확장될 수 있도록 설계함으로써 sort() 알고리즘을 수정하는 상황에서도 client 프로그램은 수정에 영향을 받지 않았다. 이것이 만족하고 있는 Martin의 객체지향 설계 원칙으로 가장 적절한 것은?
1
단일 책임의 원칙(Single Responsibility Principle)
2
인터페이스 분리의 원칙(Interface Segregation Principle)
3
개방 폐쇄의 원칙(Open Closed Principle)
4
리스코프 대체의 원칙(Liskov Substitution Principle)
해설

설명된 설계가 만족하는 원칙은 개방 폐쇄의 원칙(OCP)이다.

새 정렬 알고리즘을 상속과 다형성으로 추가하므로 기능 확장에는 열려 있고, client 코드는 수정하지 않아도 되므로 변경에는 닫혀 있다.

  • 단일 책임의 원칙은 클래스가 하나의 변경 이유(책임)만 가져야 한다는 원칙으로, 확장 시 기존 코드 보호와는 초점이 다르다.
  • 인터페이스 분리의 원칙은 클라이언트가 쓰지 않는 메서드에 의존하지 않도록 인터페이스를 잘게 나누라는 원칙이다.
  • 리스코프 대체의 원칙은 하위 타입이 상위 타입을 대체해도 프로그램이 올바르게 동작해야 한다는 상속 정합성에 관한 원칙이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[경찰간부후보생 소프트웨어공학] 23년 1회차 40문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요경찰간부후보생 소프트웨어공학 기출문제 암기장 전체 보기