오버라이딩이란?

상위클래스로부터 상속받은 메서드의 내용을 변경하는 것.

 

오버라이딩의 조건, 특징
위클래스에서 오버라이딩하는 메서드는 상위클래스의 메서드와

-         이름이 같아야 한다.

-         매개변수의 타입과 개수, 순서가 같아야 한다.

-         리턴타입이 같아야 한다.

다시말해, 선언부가 서로 일치해야 한다.

추가로,

-         접근제어자는 상위클래스의 메서드보다 같거나 커야한다.

-         예외는 상위클래스의 메서드보다 개수나 범위가 작아야 한다.

 

오버라이딩은 어떤 경우에 사용하는가?

위클래스로부터 상속받은 메서드를 그대로 사용하기도 하지만, 하위클래스 자신에게 맞게 변경해야 하는 경우가 있을 때 오버라이딩 한다.

 

오버라이딩을 사용함으로써 생기는 장점
상속받은 메서드를 변경할 수 있으므로 효율성이 커지게 된다.

 

오버라이딩 사용 방법

class Parent

{

        int i = 5;

        void speaking()

        {

               System.out.println( "상위클래스의 메서드" );

               System.out.println( i );

        }

}

 

class Child extends Parent

{

               int i = 10;

               void speaking()

               {

                       System.out.println( "오버라이딩한 하위클래스의 메서드" );

                       System.out.println( i );

                       System.out.println( super.i );

               }

}

 

class OverridingTest

{

        public static void main(String[] args)

        {

               Child c = new Child();

               c.speaking();

        }

}

Posted by 윤연식
,