상속 extends
부모의 무언가를 자식에게 줄때 상속(Inheritance)라는 말을 쓴다
프로그래밍에서는 상속을 확장(extends) 이라고도 표현하고 extends 를 사용하여 상속기능을 한다
클래스 a 의 메소드와 변수를 다른 클래스가 갖도록(=사용가능 하도록) 하는 것.
재사용성,유지보수 편의성, 가독성, 코드량 함축의 장점이 있다
스타크래프트로 설명해보자
"Unit.java"
public class Unit {
int hitPoint;
int speed;
int range;
int damage;
}
"TerranUnit.java"
public class TerranUnit extends Unit { // 테란 유닛도 unit 의 성질을 가지고 있어야 하므로 unit 클래스를 상속하였다
boolean isHealable; // 메딕이 치료 가능 여부
}
"Marine.java"
public class Marine extends TerranUnit { // 마린 유닛도 unit 의 성질을 가지고 있어야 하므로 unit 클래스를 상속하였다
...
}
"Medic.java"
public class Marine extends TerranUnit {
...
}
"ProtossUnit.java"
public class ProtossUnit extends Unit {
int shields; // 실드는 프로토스만의 고유한 특징이라서 protoss 클래스에만 작성
}
"Zealot.java"
public class Archon extends ProtossUnit {
...
}
"Archon.java"
public class Archon extends ProtossUnit {
...
}
유닛 클래스를 상속하는 것으로 자식관계인 모든 유닛들은 유닛 클래스의 속성과 메소드를 사용 가능하다
굳이 부모 클래스의 속성과 메소드를 하나하나 적을 필요가 없이 부모 클래스와 링크됐다고 보면 된다
'개발 노트 > 기초 지식' 카테고리의 다른 글
[java] overload, override (0) | 2022.04.25 |
---|---|
[java] this 와 super (0) | 2022.04.25 |
[java] 접근제어자 (0) | 2022.04.22 |
[java] static 의 이해 (0) | 2022.04.21 |
[java] 데이터 타입의 형변환, 음수의 표현 (0) | 2022.04.18 |
댓글