*상속
상속은 기존에 존재하는 클래스와 비슷한 클래스를 만들 때, 새로 만들지 않고 기존의 클래스를 상속받아 확장하는 기술이다. 기존에 존재하는 클래스를 부모 클래스, 혹은 상위 클래스라고 하며 상속받아 새로 생성되는 클래스를 자식 클래스 혹은 하위 클래스라고 부른다.
상속은 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 코드의 중복을 줄여준다. 상속을 해도 부모 클래스의 모든 필드와 메소드를 물려받는 것은 아니다. 부모 클래스에서 private 접근 제한자를 갖는 필드와 메소드는 상속 대상에서 제외된다. 그리고 부모 클래스와 자식 클래스가 다른 패키지에 존재한다면 default 접근 제한을 갖는 필드와 메소드도 상속 대상에서 제외된다. 그 이외의 경우는 모두 상속의 대상이 된다.

Account 클래스는 계좌번호, 예금주 그리고 잔고 정보를 가지고 있으며 예금과 출금 기능을 담당하는 메소드도 가지고 있다. 해당 클래스를 상속받아 고객의 카드 번호를 입력받고 결제하는 메소드를 추가로 가지고 있는 CheckingAccount 클래스를 생성하는 방법은 다음과 같다.

CheckingAccount 클래스는 Account 클래스가 가지고 있는 메소드들을 그대로 사용할 수 있다.
자바에서는 중복 상속을 허용하지 않는다.
다음 예제는 CellPhone 클래스를 상속해서 DmbCellPhone 클래스를 작성한 것이다. CellPhone이 부모 클래스가 되고, DmbCellPhone이 자식 클래스가 된다.



=> 실행 결과
모델: 아이폰
색상: 검정
채널: 10
전원을 켭니다.
벨이 울립니다.
자기 : 여보세요
상대방 : 안녕하세요! 저는 홍길동인데요
자기 : 반갑습니다!!
전화를 끊습니다.
채널10번 DMB 방송 수신을 시작합니다
채널12번으로 바꿉니다.
방송 수신을 멈춥니다.
'JAVA' 카테고리의 다른 글
자바 빈(Bean) 이란 무엇인가? (0) | 2021.05.06 |
---|---|
파일 입출력 연습 (0) | 2021.05.06 |
Java - If 문의 사용 (0) | 2021.03.29 |
클래스와 메소드 예제 1 (0) | 2021.03.18 |
DTO, Static, Singleton 그리고 접근 제한자 (0) | 2021.03.17 |