객체지향 개념 지도

객체지향 구분 기준

클래스와 객체에서 시작해 캡슐화, 정보은닉, 상속, 오버라이딩, 다형성으로 이어지는 관계를 한 번에 정리합니다.

class

객체의 설계도

클래스는 멤버변수와 메소드를 정의하고, 객체는 그 설계도로 만들어진 실제 대상입니다.

encapsulation

데이터와 기능 묶기

캡슐화는 관련 데이터와 메소드를 하나로 묶고, 정보은닉은 내부 접근을 제한합니다.

inheritance

is-a 관계 재사용

상속은 부모 클래스의 속성과 기능을 물려받지만, is-a 관계일 때 사용하는 것이 안전합니다.

override

같은 이름 다른 구현

오버라이딩은 상속받은 메소드를 자식 클래스에서 다시 정의하는 것입니다.

polymorphism

같은 메시지 다른 동작

다형성은 같은 호출이 실제 객체 타입에 따라 다르게 실행되는 성질입니다.

오버로딩

같은 이름을 쓰되 매개변수 목록으로 호출 대상을 나눕니다. 상속 관계가 없어도 컴파일 시점에 구분됩니다.

오버라이딩

상속 관계에서 부모 메소드 구현을 자식이 바꿉니다.

추상과 인터페이스

직접 객체 생성보다 공통 규칙과 구현 강제를 위해 사용합니다.