카테고리 없음

[JAVA] 상속의 개념 / 상속시 cpu동작방식

공부짱짱열심히하기 2023. 1. 19. 16:01

상속이란

기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미한다.

상속을 이용하면 기존에 정의되어 있는 클래스의 모든 필드와 메소드를 물려받아, 새로운 클래스를 생성가능

 

 

 

동일한 코드가 반복이 된다면

4개의 중복되는 코드만 따로 클래스를 만들고 나머지 클래스에 상속해주면 쉬운 일처리가 가능하다.

 

 

 

하위 student professor staff 클래스는 person 클래스에 상속받는다.

public class 클래스명 extends 상속받을 클래스명 {

}

상속받을 클래스의 멤버변수와 메소드를 모두 상속받고

실제 지금 클래스에는 안보이지만 상속받은 코드가 숨어있는걸 의미 한다.

 

 

부모 클래스

 

메인 함수에 기존 클래스를 활용해 데이터를 저장하고

		//메모리 확보
		Parent p =new Parent();
		
		//데이터 저장
		p.name = "홍길동";
		p.age = 50;
		p.setMoney(1000000000);

 

child 클래스는 parent클래스를 상속 받는다.

 

 

 

상속받은 클래스에서도 parent의 필드의 내용을 동일하게 사용이 가능하다

메소드까지 모두

		Child c = new Child();
		c.name = "홍나나";
		c.age = 23;
		c.setMoney(5000000);

 

 

동작방식을 이해하기 위해 new연산자가 생성 될때 마다 "클래스 생성자"라는 문장을 프린트 시켰을때

		Parent p =new Parent();
		
		//데이터 저장
		p.name = "홍길동";
		p.age = 50;
		p.setMoney(1000000000);
		
		// 저장된 데이터 출력
//		p.print();
//		p.printMoney();

		// Child 클래스를 객체 생성한다.
		Child c = new Child();
		c.name = "홍나나";
		c.age = 23;
		c.setMoney(5000000);
		c.hobby = "게임";

이렇게 나오는데

여기서 1차 parent 클래스 생성자

 

cpu동작방식

 

child() 클래스 정의의 오른쪽에 상속받는 클래스의 정보를 먼저 호출을 한다.

heap에 틀 만 저장 (2차 parent 클래스 생성자)

child 클래스 생성자 단어 프린트

 

데이터 저장