OOP의 4대 특성중에는 상속(Inheritance)이 있습니다. 이는 코드의 재사용과 확장성을 용이하게 해줍니다.

 

상속의 특징

 - 상속 되는 클래스를 부모 클래스 및 Super 클래스라 하고, 그 반대는 자식 클래스 및 Sub 클래스라고 합니다.

 - 자식 클래스는 부모 클래스에 정의된 변수나 메소드를 사용 할 수 있습니다.

 - 부모 클래스의 변수나 메소드의 접근 제어자가 private이면 사용 할 수 없습니다. (protected는 자식에게만)

 - 하지만 부모 클래스는 자식 클래스의 변수나 메소드를 사용 할 수 없습니다.

 - 2개 이상의 클래스를 부모 클래스를 상속 받을 수 없습니다. 오직 하나만 상속 받을 수 있습니다.

 - 기본적으로 모든 클래스는 Object를 상속 받고 있습니다.(extends Object를 굳이 안 해줘도 됨)

 

 

상속의 사용법

 - 자식 클래스명 옆에 extends 키워드와 함께 부모 클래스명을 입력 하시면 됩니다.

main 메소드에서 Unit클래스를 상속받은 marine 인스턴스는 createdUnitMsg()와 createdBionicUnitMsg()를 사용 할 수 있습니다.

public class Inheritance {
	public static void main(String[] args) {
		Bionic marine = new Bionic();
		marine.createdUnitMsg();
		marine.createdBionicUnitMsg();
	}
}

class Bionic extends Unit {
	public void createdBionicUnitMsg() {
		System.out.println("created a bionic unit");
	}
}

class Unit {
	public void createdUnitMsg() {
		System.out.println("created an unit");
	}
}

+ Recent posts