군침이 싹 도는 코딩

클래스를 상속받는 코드 ( extends ) 본문

JAVA/Basic

클래스를 상속받는 코드 ( extends )

mugoori 2023. 1. 19. 16:00
public class Parent {
	
	String name;
	int age;
	private int money;
	
	Parent(){
		System.out.println("Parent 클래스 생성자!");
	}
	
	
	public int getMoney() {
		return money;
	}
	public void setMoney(int money) {
		this.money = money;
	}
	
	void print() {
		System.out.println("name :" + name);
		System.out.println("age :" + age);
		
	}
	
	void printMoney() {
		System.out.println("name :" + name);
		System.out.println("age :" + age);
		System.out.println("money :" + money);
		
	}


}

# 먼저 Parent 라는 부모 클래스이다

 

 

 

public class Child extends Parent {
	
	// 상속 받을때 사용하는 키워드 extends
	// extends 오른쪽에 상속받을 클래스명을 쓴다
	// Parent 클래스의 멤버변수와 메소드를 상속 받는다는 뜻
	// 사람 눈에는 보이지 않지만 상속받은 코드가 숨어있다
	
	String hobby;
	
	Child(){
		System.out.println("Child 클래스 생성자!");
	}

}

# Child 라는 클래스이며 이 클래스는 Parent 클래스를 상속받았다

상속받는 코드는 extends 상속받을클래스 이렇게 쓰며

상속을 받으면 클래스 안에 멤버변수와 메소드 모두를 상속받는다

 

 

 

// Child 클래스 객체 생성
Child c = new Child();
c.name = "홍나나";
c.age = 23;
c.setMoney(5000000);
c.hobby = "게임";
		
// 저장된 데이터 확인 출력
c.print();
c.printMoney();

>>> name :홍나나
    age :23
    
>>> name :홍나나
    age :23
    money :5000000

# Child 클래스에는 멤버변수 hobby 한개만 있지만

상속받은 클래스 Parent에 다른 멤버변수와 메소드가 있기때문에

모두 사용이 가능하다

메모리의 동작 순서는 Child 클래스의 객체 생성을 하면 Child 클래스로 가서 오른쪽을 확인해

상속받는 클래스가 있는지를 보고 Parent라는 클래스를 상속받기때문에 먼저 Parent의 멤버변수들을

Heap 메모리에 생성한다 그 뒤 Child 의 멤버변수 hobby 를 붙인다

'JAVA > Basic' 카테고리의 다른 글

배열 ( Array ) 데이터 출력 입력  (0) 2023.01.19
super  (1) 2023.01.19
getter / setter 함수  (0) 2023.01.19
접근 제어자 ( default, public, private, protected )  (0) 2023.01.19
This ( 지칭하는 키워드 )  (0) 2023.01.19