메소드의 Overriding(오버라이딩)
: 자바언어는 polymorphism(다형성)을 이용하기 위하여
Overloading과 overriding을 사용합니다.
오버로딩은 같은 클래스 안에서 이름이 같은 메소드를 2개 이상
정의하는 것입니다. 반면에 오버라이딩은 상속관계에 있는
슈퍼 클래스와 서브 클래스에서 같은 이름의 메소드를 정의하는 것 입니다.'
슈퍼클래스에 있는 메소드의 시그니처와 서브클래스에서 재정의한
메소드의 시그니처가 동일해야 합니다.
오버로딩 오버라이딩
class AA class BB
public void display() {} public void display(int a) {}
public void display(char b) {} class CC extends BB {
public void display(){}
}
오버라이딩은 기존의 클래스를 이용하여 새로운 클래스를 만들 때,
기존 클래스의 메소드와 의미적으로는 같지만 약간의 변화가
필요한 메소드를 만들 때 사용합니다.
super
: this는 객체 자신을 뜻하는 반면에 super는 상속 관계에서
부모 클래스의 객체를 가르키는 키워드입니다.
1. 상속받은 슈퍼클래스에 있는 멤버 변수나 메소드에 접근할 때
사용합니다.
super.멤버변수 , super.멤버메소드(매개변수)
2. 슈퍼클래스의 생성자를 호출할 때 사용합니다. 반드시 첫번째 줄에 기재되어야 합니다.
super();