개발/JAVA

상속과 다형성

윤_ve 2021. 1. 5. 20:33

상속이란

클래스를 정의 할 떄 이미 구현된 클래스를 상속받아서 속성이나 기능이 확장되는 클래스를 구현.

 

상위 하위클래스의 형변환

상위클래스 = Customer

하위클래서 = VIPCustomer

 

이 경우, VIPCustomer은 Customer에도 포함이 된다.

VIPCustomer customerKim = new VIPCustomer(10101, "Kim");

여기서

Customer customerKim  = new VIPCustomer(10101, "Kim")

이렇게 표현도 가능하다.

이를 업캐스팅이라고 한다.

 

메서드 오버라이딩

상위 클래스에 정의 된 메서드 중 하위 클래스와 기능이 맞지 않거나

추가 기능이 필요한 경우 같은 이름과 매개변수로 하위 클래스에서 재정의 함

 

다형성

하나의 코드가 여러가지 자료형으로 구현되어 실행되는 것

정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나

객체지향 프로그래밍의 유연성, 재활용성, 유지보수성에 기본이 되는 특징