1. 상속이란?

  • 클래스끼리 물려주거나 받는 것
  • 부모 클래스의 기능(변수와 메소드를)을 자식 클래스에서 사용

 

부모 클래스의 기능을 물려받은 자식 클래스 객체를 생성하면

부모 클래스의 기능 + 자식 클래스의 기능을 사용할 수 있다

 

상속을 사용할 때 주의 사항

  • 자식 클래스명 옆에 'extends 부모 클래스명'을 입력해서 상속한다
  • 아무리 자식 클래스라도 부모 클래스의 private 멤버는 접근 불가 (private 변수와 메소드는상속 대상에서 제외)
  • 자식 클래스는 하나의 부모 클래스만 가질 수 있다 (다중 상속이 불가능)
  • 패키지가 다른 경우, public 변수와 메소드만 상속 가능

 

 

2. 예제

1) 부모 클래스

  • 사용할 기능 입력
  • 매개변수 생성자 생성

 

2) 자식 클래스

  • 클래스명에 extends 부모클래스 입력
  • 매개변수 생성자 생성
  • 매개변수 생성자의 필드에 super로 부모클래스의 변수, 메소드 사용

 

3) main 클래스

  • 자식 클래스의 객체 생성
  • 자식 클래스를 통해 부모 클래스의 기능 사용

 

부모 클래스 (사용할 기능 입력)
자식 클래스 (부모 클래스 상속받아 사용)
메인 클래스 (자식 클래스의 객체 생성)

 

 

 

 

문제 
// [문제]
// 1. 단순히 만드는 것에 그치지 말고, 안정성을 높이기 위해 다음과 같이 강제 구현
//    [1] 이름은 한번 설정하면 절대로 변경할 수 없습니다 - final
//    [2] 가격은 아무리 싸게 설정해도 40만원 미만은 불가능합니다 (20만원으로 설정시 40만원으로 설정되도록)
//    [3] 통신사나 가격 등은 계속 변경 설정이 가능하도록

// 2. Mobile이라는 클래스는 건드리지 않고 상속을 이용

//    [4] 항목 추가 - 제휴카드(card), 약정기간(month)

 

 

 

 

 

 

 

 

 

 

 

정답 

 

 

+ Recent posts