Override
•
부모 클래스로부터 상속받은 메서드를 재정의 하는 것
•
부모 클래스에 선언된 메서드의 접근제한자보다 넓은 범위의 접근제한자로 변경할 수 있다. 하지만 좁은 범위의 접근제한자로 변경하는 것은 불가능하다.
•
부모 클래스에서 throw 하고 있는 예외 클래스를 해당 예외 클래스의 선조 클래스로 바꿔 throw 하는 것은 가능하다.
•
private 메서드는 private 필드변수와 마찬가지로 상속되지 않기 때문에 override 할 수도 없다.
•
static 메서드는 상속이 안된다. 따라서 override 도 할 수 없다.
•
@Override : override annotation
◦
해당 메서드가 부모클래스로부터 상속받은 메서드를 알맞게 override 하였는지 검증한다.
◦
annotation : 클래스가 컴파일 되기전에 수행되어야 하는 기능을 정의한다.
Overload
과적하다, 넘치게 싣다.
하나의 이름에 메서드가 여러 개 존재한다.
Overload 는 매개변수의 개수나 타입이 다른 같은 이름의 메서드를 여러개 만드는
것을 의미한다.
Overload 를 할 때는 두 메서드의 의미상의 기능이 동일 해야 한다.