문제 상세보기
문제 정보

문제 ID: 540059

카테고리: 정보처리기사

강의: 미분류

키워드: 없음

문제
클래스 설계원칙에 대한 바른 설명은?
정답을 선택하세요
1 단일 책임원칙 : 하나의 클래스만 변경 가능 해야한다.
2 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.
3 리스코프 교체의 원칙 : 여러 개의 책임을 가진 클래스는 하나의 책임을 가진 클래스로 대체되어야 한다.
4 의존관계 역전의 원칙 : 클라이언트는 자신이 사용하는 메소드와 의존관계를 갖지 않도록 해야 한다.
단일 문제
정답
2번 : 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.
해설 gpt-4o-mini 생성
[정답 근거] → 2번, 개방-폐쇄의 원칙은 "클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다"는 설명이 정확합니다. 이는 소프트웨어 설계에서 기존 코드를 수정하지 않고도 새로운 기능을 추가할 수 있도록 하는 원칙으로, 유지보수성과 확장성을 높이는 데 기여합니다.

[오답 해설] → 1번은 단일 책임원칙의 정의가 잘못되었습니다. 단일 책임원칙은 "하나의 클래스는 하나의 책임만 가져야 한다"는 의미입니다. 3번은 리스코프 교체의 원칙의 설명이 잘못되었습니다. 이 원칙은 "서브타입은 언제나 자신의 기반 타입으로 교체할 수 있어야 한다"는 것입니다. 4번은 의존관계 역전의 원칙의 정의가 부정확합니다. 이 원칙은 "고수준 모듈이 저수준 모듈에 의존해서는 안 되며, 둘 다 추상화에 의존해야 한다"는 것입니다.

[관련 개념] → SOLID 원칙은 객체 지향 프로그래밍에서 소프트웨어 설계를 위한 다섯 가지 기본 원칙을 제시합니다. 이 원칙들은 코드의 재사용성과 유지보수성을 높이는 데 중요한 역할을 합니다.

[학습 포인트] → SOLID 원칙의 각 요소를 정확히 이해하고, 이를 실제 소프트웨어 설계에 적용하는 방법을 학습하는 것이 중요합니다. 각 원칙의 정의와 목적을 명확히 알고, 이를 통해 더 나은 코드 품질을 유지할 수 있도록 노력해야 합니다.