투케이2K

76. (java/자바) 상속(extends) super,this 사용 - super, this를 사용해 부모 및 자식 구분 실행 본문

Java

76. (java/자바) 상속(extends) super,this 사용 - super, this를 사용해 부모 및 자식 구분 실행

투케이2K 2021. 1. 6. 08:18

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

 

package AI2;

class Parents {
	//부모 전역변수 선언
	String data = "부모변수";
	
	//부모 return 데이터 반환 메소드 선언
	public void getMethod() {
		System.out.println("부모메소드");
	}
}//부모클래스 종료

class Childs extends Parents{
	//자식 전역변수 선언
	String data = "자식변수";
	
	//자식 전역변수 출력 메소드
	public void getData() {
		System.out.println(super.data); //부모변수 출력
		System.out.println(this.data); //자식변수 출력
	}
	
	//자식이 부모메소드 @Override 재정의 실시
	@Override
	public void getMethod() {
		super.getMethod(); //부모메소드 출력
		System.out.println("자식메소드"); //자식메소드 출력
	}		
}//자식클래스 종료

public class MainActivity19 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[상속(extends) super,this 사용 - super, this를 사용해 부모 및 자식 구분 실행]");
		
		/*[설 명]
		 * 1. Childs클래스에서 Parents클래스를 상속받았기 때문에 Childs클래스 객체생성 시 모두 사용가능하다
		 * 2. super - 부모관련 변수 및 메소드를 지정 시 사용한다
		 * 3. this - 자식관련 변수 및 메소드를 지정 시 사용한다
		 * 4. 사용이유 - 부모, 자식 클래스간 서로 변수 명, 메소드 명이 같을 경우 구분을 해주기 위해서 사용합니다  
		 */		
		Childs ch = new Childs();
		ch.getData(); //변수 호출
		ch.getMethod(); //메소드 호출
		
	}//메인 종료

}//클래스 종료

/* =========================== */

[결과 출력]

[상속(extends) super,this 사용 - super, this를 사용해 부모 및 자식 구분 실행]

부모변수

자식변수

부모메소드

자식메소드

/* =========================== */

/* =========================== */

[요약 설명]

* 1. Childs클래스에서 Parents클래스를 상속받았기 때문에 Childs클래스 객체생성 시 모두 사용가능하다

* 2. super - 부모관련 변수 및 메소드를 지정 시 사용한다

* 3. this - 자식관련 변수 및 메소드를 지정 시 사용한다

* 4. 사용이유 - 부모, 자식 클래스간 서로 변수 명, 메소드 명이 같을 경우 구분을 해주기 위해서 사용합니다

/* =========================== */

반응형
Comments