본문 바로가기

개발공부/정보처리기사

[정보처리기사 필기 오답] 클래스 설계 원칙

1과목: 소프트웨어 설계 - 클래스 설계 원칙

SOLID (객체지향 설계)

객체지향 설계 원칙: 객체지향 프로그래밍 설계를 할 때 프로그래머가 시간이 지나도 유지보수와 확장이 용이한 시스템을 만들고자 할 때 적용하는 원칙이다.

 

  • 단일 책임 원칙 (SRP, Single responsibility principle)
    : 하나의 객체는 하나의 책임만을 가짐
  • 개방-폐쇄 원칙 (Open/closed principle)
    : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.
  • 리스코프 치환 법칙 (Liskov substitution principle)
    : 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 서브타입(하위클래스)은 어디서나 자신의 기반타입(상위클래스) 인스턴스로 바꿀 수 있어야 한다.
  • 인터페이스 분리 원칙 (Interface segregation principle)
    : 특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.
  • 의존관계 역전 원칙 (Dependency inversion principle)
    : 상위 계층이 하위 계층에 의존하는 전통적인 의존관계를 반전(역전)시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게 할 수 있음 
    -> 추상화에 의존해야지, 구체화에 의존하면 안된다. 

 

 


2022년 1회 03월 05일 기출문제

 

13. 클래스 설계원칙에 대해 바른 설명은?

① 단일 책임원칙: 하나의 클래스만 변경 가능 해야한다.

② 개방-폐쇄의 원칙: 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.

③ 리스코프 교체의 원칙: 여러 개의 책임을 가진 클래스는 하나의 책임을 가진 클래스로 대체 되어야 한다.

④ 의존관계 역전의 원칙: 클라이언트는 자신이 사용하는 메소드와 의존관계를 갖지 않도록 해야 한다.

 

(정답률 69% 문제)

 

 

흥달쌤 - 정보처리기사 필기 2022년 1회 - 소프트웨어 설계

13번문제 해설 49:41부터