-
<Java> 상속(Inheritance)무기/자바 2021. 3. 20. 20:11728x90
📌 import "코드잇";
📌 import "Do it! 자바 프로그래밍 입문(박은종)";
/**
* 21/03/20 작성
* 21/11/25 1차 수정
*/
이게 뭐죠?
* 상위클래스의 변수, 메서드를 하위클래스에서 상속하여 활용할 수 있다.
왜 사용하나요?
* 하위클래스 사이에 공통분모를 상위클래스로 정의하기 위해 사용한다.
* "IS-A 관계(is a relationship; inheritance)"가 성립하는 클래스 간에 반복적인 코드를 줄일 수 있다.
어떻게 사용하나요?
하위클래스: 상속 받는 클래스
* extends 키워드를 통해 상위클래스를 상속
class MovieTheater extends Building { }
* @Override 어노테이션으로 상위클래스의 메서드를 오버라이딩
@Override public int usersCount(int contentsNum) { }
상위클래스: 상속해주는 클래스
* protected 예약어로 외부 클래스에서는 사용할 수 없고 하위 클래스에서만 사용할 수 있는 변수 또는 메서드 정의
protected int usersCount(int contentsNum) { }
업캐스팅(upcasting)
* 하위클래스형의 인스턴스를 상위클래스형으로 형변환
* 자바의 메서드는 가상메서드이기 때문에 상위클래스의 메서드를 오버라이딩한 메서드를 사용할 수 있음
728x90'무기 > 자바' 카테고리의 다른 글
<Java> 추상 클래스 (abstract class) (0) 2021.03.23 <Java> 인터페이스(Interface) (0) 2021.03.23 <Java> 제네릭 (Generic) (0) 2021.03.22 <Java> Object Class (0) 2021.03.20 <Java> super (0) 2021.03.20