JAVA

JAVA_오버라이딩(Overriding)이란?

channnnii 2022. 3. 25. 12:58

오버라이딩이란, 상위 클래스가 가지고 있는 멤버변수가 하위 클래스로 상속되는 것처럼 상위 클래스가 가지고 있는 메서드도 하위 클래스로 상속되어 하위클래스에 사용할 수 있습니다. 또한 하위클래스에서 메서드를 재정의하여 사용할 수 있습니다.

 

<오버라이딩 예제>

//부모 클래스
class Parents{
	public String name;
   	public String age;
    
        //info 메서드
        public void info(){
            System.out.println("a의 이름은 " + name + ", 나이는 " + age + +"살 입니다.");
        }
}

//Parents 클래스를 상속받음 = extends
class hobby extends Parents{
	String hobby;
    
	//부모 클래스에 있는 info()메서드를 재정의
   	public void info(){
            super.info()
            System.out.println("a의 취미는 " + hobby + "입니다.");
        }
}

public class Override{
	
    public static void main(String[] args){
            //hobby 객체 생성
            Hobby hobby = new Hobby();

            //변수 설정
            hobby.name = "채연";
            hobby.age = 25;
            hobby.hobby = "수영";

            //호출
            hobby.info();
    }
}

실행 결과 )  a의 취미는 수영입니다.

실행 설명 )  Hobby Class(자식 클래스)에서 Parents Clas(부모 클래스)를 상속받아 부모 클래스에 있는 info()를 재정의하여 사용하였고,

                매인 메서드에서 Hobby 객체를 호출하였기 때문에 hobby클래스의 내용이 실행되었습니다.