상속 (inheritance)
이미 만들어진 class의 내용을 그대로 가져와서 새로운class를 정의하는것
상속을 하더라도 접근제한자는 유지된다.
자식 클래스 객체를 생성할 때 자식클래스 생성자에서 super()를 사용 하여 부모 클래스의 생성자를 먼저 실행하고 자식클래스의 생성자를 실행한다.
super()는 맨 첫줄에서만 사용이 가능하다
상속방법
: class 자식클래서 extends 부모클래스{
}
오버라이드 override
상속받은 자식클래스에서 부모클래스의 메서드를 재정의하는것
메서드 형태는 부모클래스의 메서드와 동일해야 한다.
오버라이드시 접근제한자는 동일하거나 더 넓은 범위여야 한다.
메서드에 final을 선언하면 재정의가 불가능하다 (오버라이드가 불가능하다 )
up casting : 자동으로 캐스팅된다.
down casting : 변환 타입을 명시해아한다
instanceof 연산자
: 참조 변수가 실제로 참조하고 있는 객체가 어떤 타입인지를 확인할때 사용
: 객체타입이 동일하면 true 다르면 false
abstract;
추상클래스
상속받을 class에서 구현할 특성을 정의한 class
객체를 생성할 수 없다
추상메서드
추상 클래스안에 기능을 정의하지 않은 메서드
상속받는 자식클래스에서 반드시 override 해야 한다.
다형성
하나의 부모 클래스 변수로 상속 받은 자식클래스 객체들을 사용하는것
동적 바인딩
프로그램 실행시에 작동하는 메서드가 결정