The 4 Basic Concepts of OOP

객체지향의 4대 특성에 대해서 알아보자.

About

캡슐화

상속

  • extends

추상화

다형성

오버로딩

오버라이딩

업캐스팅

부모 클래스 타입으로 선언된 변수에 자식 클래스의 인스턴스를 할당하는 것.

Lecture lecture = new GradeLecture("알고리즘", 70);

업캐스팅은 서로 다른 클래스의 인스턴스를 동일한 타입에 할당하는 것을 가능하게 한다. 따라서 부모 클래스의 코드를 전혀 수정하지 않고도 자식 클래스에 적용할 수 있게 해준다.

동적 바인딩 / 지연 바인딩 (Dynamic Binding / Late Binding)

선언된 변수의 타입이 아니라 메시지를 수신하는 객체의 타입에 따라 실행되는 메서드가 결정되는 것.

메시지를 처리할 적절한 메서드를 컴파일 타임이 아닌 실행 시점에 결정하기 때문에 가능하다.

동적 메서드 탐색은 부모 클래스의 타입에 대해 메시지를 전송하더라도 실행 시에는 실제 클래스를 기반으로 실행될 메서드가 선택되게 해준다. 따라서 코드를 변경하지 않고도 실행되는 메서드를 변경할 수 있다.

Last updated

Was this helpful?