상속 연습

Mia Lee·2021년 12월 7일
0

JAVA

목록 보기
66/98
package ex_inheritance;

public class Ex3 {

	public static void main(String[] args) {

		System.out.println("========= Grandfather =========");
		// Grandfather 클래스의 인스턴스 생성
		Grandfather grandfather = new Grandfather();
		// 접근 가능한 멤버 : 2개
		System.out.println(grandfather.house); // 직접 선언한 멤버변수
		grandfather.singWell(); // 직접 정의한 메서드
		
		System.out.println("========= Father =========");
		// Father 클래스의 인스턴스 생성
		Father father = new Father();
		// 접근 가능한 멤버 : 4개(Father 2개 + Grandfather 2개) 
		System.out.println(father.pc); // 직접 선언한 멤버변수
		father.drawWell(); // 직접 정의한 메서드
		System.out.println(father.house); // Grandfather로부터 상속받은 멤버변수
		father.singWell(); // Grandfather로부터 상속받은 메서드
		
		System.out.println("========= Son =========");
		// Son 클래스의 인스턴스 생성
		Son son = new Son();
		// 접근 가능한 멤버 : 6개(Son 2개 + Father 2개 + Grandfather 2개)
		System.out.println(son.car); // 직접 선언한 멤버변수
		son.programmingWell(); // 직접 정의한 메서드
		System.out.println(son.pc); // Father로부터 상속받은 멤버변수
		System.out.println(son.house); // Grandfather로부터 상속받은 멤버변수
		son.drawWell(); // Father로부터 상속받은 메서드
		son.singWell(); // Grandfather로부터 상속받은 메서드
		
	}

}

class Grandfather {
	String house = "이층집";
	
	public void singWell() {
		System.out.println("노래를 잘 한다!");
		
	}
}

// Grandfather 클래스를 상속받는 Father 클래스 정의
class Father extends Grandfather {
	
	// 멤버변수 : pc("최신형 컴퓨터")
	// 메서드 : drawWell() - "그림을 잘 그린다!"
	String pc = "최신형 컴퓨터";
	
	public void drawWell() {
		System.out.println("그림을 잘 그린다!");
		
	}
	
}

// Father 클래스를 상속받는 Son 클래스 정의
class Son extends Father {
	// 멤버변수 : car("스포츠카")
	// 메서드 : programmingWell() - "프로그래밍을 잘 한다!"
	String car = "스포츠카";
	
	public void programmingWell() {
		System.out.println("프로그래밍을 잘 한다!");
		
	}
}












0개의 댓글