Java 메소드 오버라이딩

Kkackit·2021년 12월 8일
0

Java

목록 보기
2/3

메소드 오버라이딩

  • 서브 클래스에서 슈퍼 클래스의 메소드를 중복으로 작성하는 것이다.
  • 서브 클래스에서 중복으로 작성한 메소드의 실행되도록 보장된다.(동적 바인딩에 의해)
  • 슈퍼 클래스 메소드의 원형(메소드 이름, 인타 타입 및 개수, 리턴 타입)이 동일하게 작성되야한다.
Class A
{
	void f()
    {
		System.out.println("A의 f() 호출");
    }
}

Class B extends A
{
	void f() // 클래스 A의 f() 오버라이딩
    {
		System.out.println("B의 f() 호출");
    }
}

라고 하자.

B b = new B();
b.f();

의 실행 결과는 "B의 f() 호출" 일것이다.

A a = new B();
a.f();

를 실행해도
동적 바인딩에 의해
오버라이딩 된 메소드인 B의 f()가 실행된다.

텍스트오버라이딩의 목적은 객체지향의 목표인 다형성 실현에 있다.

  • 하나에 인터페이스에 서로 다른 구현
  • 슈퍼 클래스의 메소드를 서브 클래스에서 목적에 맞게 다르게 구현

슈퍼 클래스의 멤버에 접근하고싶다면 super를 사용하면 된다.

0개의 댓글