day15_SuperTestEx20

육희영·2021년 10월 28일
0
package com.java1.day15;
//super는 자손클래스에서 조상클래스로부터 상속받은 멤버를 참조하는데 사용되는 참조변수이다.
//static메서드(클래스메서드)는 인스턴스와 관련이 없다. 
//그래서 this와 마찬가지로 super역시 static메서드에서는 사용할 수 없고 인스턴스메서드에서만 사용할 수 있다.
//오버라이딩의 조건은 아래와 같다.
//자손클래스에서 오버라이딩하는 메서드는 조상클래스의 메서드와 
//- 이름이 같아야 한다. 
//- 매개변수가 같아야 한다. 
//- 리턴타입이 같아야 한다. 
class Parent{
	int x = 10;
}
class Child extends Parent{
	   void method() { 		//인스턴스 매서드
		System.out.println("x="+x);
        System.out.println("this.x=" + this.x); 
        //변수 x 앞에 this가 붙어서 자기자신 내부에서 x 변수를 찾지만 없을경우 부모에서 x 변수를 찾는다.
        System.out.println("super.x="+ super.x); 
	}
}
public class SuperTestEx20 {
	public static void main(String[] args) {
		 Child c = new Child(); 
         c.method(); 
	}
}

출력결과

x=10
this.x=10
super.x=10

0개의 댓글

관련 채용 정보