YYYEJI

[JAVA] 상속(Inheritance)란? 본문

Java

[JAVA] 상속(Inheritance)란?

YEJI ⍢ 2022. 12. 27. 03:46
728x90

상속(Inheritance)란?

패키지(Package) 안에는 상위 클래스(부모 클래스, base or parent class)

하위 클래스(자식 클래스, derived or child class)가 존재합니다.

 

하위 클래스는 선택한 상위 클래스의 멤버를 상속받을 수 있게 됩니다.  

이때 상위 클래스의 모든 멤버 변수를 상속받을 수 있는 것은 아닙니다. (private한 변수나 메소드는 상속받을 수 없습니다.)

 

 

 

하위 클래스(자식 클래스)는 "extends"로 상속받습니다.


public class child_class extends parent_class

 

 

 

상위 클래스(부모 클래스) 코드


public class Person {
	private String name;
	
	public Person() {
		name = "";
	}
	
	public Person(String name) {
		this.name = name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public String getName() {
		return name;
	}
}

Constructor와 getter, setter를 선언했습니다.

 

 

하위 클래스(자식 클래스) 코드


public class Student extends Person {
	private int studentNumber;
	
	public Student() {
		super();
		studentNumber = 0;
	}
	
	public Student(String name, int number) {
		super(name);
		studentNumber = number;
	}
}

하위 클래스에서는 상위 클래스의 instance 변수도 초기화를 시켜줘야 됩니다.

상위 클래스의 instance 변수를 초기화 시키는 함수는 super()입니다.

 

super() 함수를 통해 상위 클래스의 instance 변수를 먼저 초기화 시켜주고 하위 클래스의 변수를 초기화 시켜줍니다.

(첫 줄에 쓰지 않으면 error가 뜹니다.)

 

 

 

◡̈

'Java' 카테고리의 다른 글

[JAVA] 오버라이딩(Overriding)이란?  (0) 2022.12.27
[JAVA] Super 메소드  (0) 2022.12.27
[JAVA] Java의 다차원 Array  (0) 2022.12.27
[JAVA] Java의 1차원 array  (0) 2022.12.27
[JAVA] 패키지(Package)란?  (0) 2022.12.27