반응형

 

자바 - super 및 super( )의 용도와 사용방법

 

 

 

자바에서 상속하여 클래스를 사용할 경우 부모 클래스에 접근하기 위해서 사용되는 super와 super( )에 대해서 알아보도록 하겠습니다. 

 

 

1.  super 및 super( )의 용도

 

1) super는 자신이 상속받은 부모 클래스에 대한 레퍼런스 변수로, 부모 클래스의 멤버에 접근할 때 사용됩니다.

  • 주로 객체안에 있는 부모의 멤버변수와 자신의 멤버변수를 구별하기 위해 사용됩니다. 

 

2) super( )는 자식 클래스의 생성자에서 부모 클래스의 생성자를 호출하기 위해서 사용됩니다. 

  • super( )는 생성자 코드안에서 사용 될 때, 다른 코드에 앞서 첫줄에 사용되어야 합니다. 
  • 자식 클래스의 모든 생성자는 부모 클래스의 생성자를 포함하고 있어야 합니다. 그런데 만약 자식 클래스의 생성자에 부모 클래스의 생성자가 지정되어 있지 않다면, 컴파일러가 자동으로 부모 클래스의 기본생성자를 호출합니다. (이러한 경우, 부모클래스에 매개변수가 있는 생성자만 있고, 기본생성자가 없어 기본생성자를 호출할수 없다면 에러가 발생합니다.)

 

 

 

2. 사용예제

 

1) Book 클래스 정의 (부모클래스)

 

public class Book {

	String title ="미입력";
	int price = -1;
	int code = 100;
		
	public Book() {  	}                     // 기본생성자
		
	public Book(String title, int price) {      // 매개변수 2개인 생성자
		this.title = title;
		this.price = price;
	}

	
	public void showPrice() {
		System.out.println(title + "의 가격은 " + price + "원 입니다");
	}
}

 

 

2) EnglishBook 클래스 정의 (자식클래스)

 

  • super(title, price); 구문은 부모클래스에 있는 매개변수 2개를 가진 생성자를 호출합니다. 
public class EnglishBook extends Book {

	int code = 200;
	
	public EnglishBook() {    }                       // 기본생성자

	public EnglishBook(String title, int price) {    // 매개변수 2개인 생성자
		super(title, price);     
	}

	
	public void showPrice() {

		super.showPrice();      // 부모클래스의 메소드 호출
		
		System.out.println("");
		System.out.println("code       : " + code);
		System.out.println("this.code  : " + this.code);
		System.out.println("super.code : " + super.code);
		
		System.out.println("");
		System.out.println("price       : " + price);
		System.out.println("this.price  : " + this.price);
		System.out.println("super.price : " + super.price);
	
	}
}

 

 

3) 객체 생성 및 실행

 

public class HelloWorld {
	public static void main(String[] args) {

		EnglishBook b1 = new EnglishBook("영어책", 1000);
		b1.showPrice();
	}
}

 

 

4) 실행결과

 

 

 

2022.06.27 - [IT 개발/Java] - [Java] 자바 - this와 this( )의 용도 및 사용예제

 

[Java] 자바 - this와 this( )의 용도 및 사용예제

자바 - this와 this( )의 용도 및 사용예제 자바 프로그램 작성시 생성자에서 많이 보게되는 this와 this( )에 대해서 알아보도록 하겠습니다. 1. this와 this( )의 용도 1) this는 객체 자신을 가리키는 레퍼

kadosholy.tistory.com

 

반응형

+ Recent posts