1. 추상 메소드(abstract method)
public abstract class Animal {
//abstract 반환타입 메소드이름();
public abstract String getName();
}
자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드를 의미하며 선언부만이 존재하고,구현부(return)는 작성되어 있지 않아 이 작성되어 있지 않은 구현부를 자식 클래스에서 오버라이딩하여 사용한다. 이를 통하여 *다형성을 구현할 수 있다.
다형성
- 동일한 메서드 호출이 객체에 따라 다른 동작을 수행할 수 있게 하는 특성으로 상속과 인터페이스를 통해 구현 가능하다. 이를 통해 프로그램에서 동일한 메서드를 사용해 다양한 객체 처리가 가능하다.
- 다형성 덕분에 호출 코드가 더 유연하고 간결해지며, 객체가 자신의 타입에 맞는 메서드를 실행하도록 한다. 이를 통해 코드를 수정하지 않고도 새로운 클래스를 쉽게 추가할 수 있다.
2. 동적 바인딩
- 런타임 결정 : 메서드 호출을 어떤 메서드로 연결할지 결정하는 것 ↔ 정적바인딩 : 컴파일 시점에 어떤 메서드를 호출할지 결정
- 다형성 구현 : 상속과 오버라이딩을 사용한 메서드 호출에 적용된다.
- 실제 객체 타입 기준 : 참조 변수의 타입이 아닌 실제 객체의 타입을 기준으로 메소드를 호출.
Share article