설계 구분

객체지향 개념과 설계 관계 판단표

객체지향 문제는 설계도와 실제 객체, 숨김과 공개, 물려받음과 재정의, 같은 호출의 다른 동작을 분리하면 빠르게 풀립니다.

설계도 찾기

클래스인지, 클래스로 만든 객체인지 먼저 구분합니다.

멤버 확인

속성과 메서드가 어떤 접근 범위를 갖는지 봅니다.

관계 표시

상속, 포함, 구현 관계 중 어떤 연결인지 나눕니다.

호출 해석

오버로딩, 오버라이딩, 동적 바인딩 여부를 확인합니다.

중심 문장

클래스 객체 다형성

용어가 비슷해 보여도 “만드는가, 숨기는가, 물려받는가, 바꾸는가”로 나누면 됩니다.

Class

속성과 메서드 묶음

객체가 가져야 할 데이터와 동작을 미리 정의합니다.

Hide

캡슐화와 정보은닉

내부 필드는 숨기고 허용된 연산만 메서드 경계로 통과시킵니다.

Inherit

공통 성질 재사용

상위 클래스의 멤버를 물려받고 필요한 동작은 재정의할 수 있습니다.

Poly

같은 호출, 다른 실행

참조 타입보다 실제 객체 타입에 따라 메서드가 선택될 수 있습니다.