본문 바로가기

Language, IDE/JAVA, android

[JAVA 자바] super

반응형

자바에서 super는 상위 클래스의 생성자를 호출할 때 사용하거나 상위 클래스의 멤버 변수나 메소드에 접근할 때 사용한다.

super로 멤버 변수나 메소드를 호출하기 위해서는 해당 변수나 메소드의 제한자는 protected, public이어야 한다.



예약어 super


상위 클래스의 생성자 호출                            super(매개변수)


상위 클래스의 멤버 변수 호출                        super.변수명


상위 클래스의 메소드 호출                            super.메소드명(매개변수)




예제소스

JavaTest.java


class Mother {
	protected String name;

	public Mother(String name) {
		this.name = name;
	}
	
	public void display() {
		System.out.println("name : " + name);
	}
}

class Sun extends Mother { 
	private String name; 
	public Sun(String MotherName, String MyName) {
		super(MotherName);   //Mother 클래스의 생성자 호출
		this.name = MyName;
	}
	
	public void display() {
		System.out.println("mother name : "+ super.name);  // super.name -> Mother의 name
		System.out.println("my name : "+ name);                // name           -> Sun의 name
	}
}

public class JavaTest {

	public static void main(String[] args) {
		
		Mother m = new Mother("mom");
		
		m.display();
		
		Sun s = new Sun("mom", "sun");
		s.display();

	}

}




반응형