[Java] 상속

2019. 10. 27. 22:52
반응형

오늘은 Java 상속 개 (개념) 이 (사용 이유) 문 (문법 및 예시) 시작하겠습니다.

 

개념


우리가 생각하는 상속이라는 단어가 맞다. 현실 세계에서 부모님이 자식들에게 재산을 물려주는 것과 비슷하다. 이라고 하면 자식(클래스)이 상속받고 싶은 부모(클래스)를 선택해서 물려받는다. 이때 상속받는 클래스를 자식 클래스, 하위 클래스 또는 서브 클래스라고 부른다. 상속을 해주는 클래스를 부모 클래스, 상위 클래스 또는 슈퍼 클래스라고 한다

 

부모 클래스(parent class) 와 자식 클래스(children class)는 자바 예약어 extends 정해짐

 

 

 

 

사용 이유


중복된 코드를 줄일 수 있고, 유지 보수가 편리하며, 통일성이 있고 다형성을 구현

 

 

 

 

문법


 

하나의 부모- 여러 자식 O

하나의 자식 - 여러 부모 X

 

자식 - 부모 클래스의 자원을 모두 사용 가능

  • 자식클래스도 부모 클래스가 있음
  • 부모 클래스가 상속받은 자원도 사용 가능 (조상 클래스의 자원)
  • 부모 클래스로부터 받은 자원을 Override 하여 수정 가능

부모 - 자식 클래스 자원 사용 X

 

바로 예시

 

회사 클래스 (최상위 - 조상)

public class Company{}

 

부서 클래스 (상위 - 부모)

public class Department{}

 

회사원 클래스 (하위 - 자식)

public class Employee{}

 

public class Employee extends Department (부서를 상속 받은 회사원 클래스)
//Employee(자식)는 조상 클래스 Company의 자원까지 모두 사용 할 수 있다.

public class Department extends Company (회사를 상속 받은 자식클래스 부서)

public class Company (최상위 회사)

 

※주의

자식 클래스가 부모 클래스로부터 상속을 받게 되면 부모 클래스의 필드와 메서드를 물려받게 된다. 단, 접근제어자가 private을 갖는 필드나 메소드는 상속이 불가하고, 패키지가 다를 경우 접근제어자가 default인 경우도 상속이 불가하다.

 

 

 

정리

1. 상속 방법 : class 클래스(자식) extends 클래스(부모)

2. 자식 클래스는 부모 클래스로부터 메소드와 필드를 물려받아 사용한다. 부모 클래스는 자식 클래스에서 정의한 메소드나 필드를 사용하지 못한다.(자식 = 자신 + 부모 / 부모 = 자신)

3. 자식 클래스는 여러 부모 클래스로부터 상속받지 못한다. 즉, 단일상속만 가능하다.

4. 부모 클래스는 여러 자식 클래스에게 상속이 가능하다.

5. 자식 클래스가 더 다양한 기능이 가능하므로 자식 클래스로 인스턴스를 생성하는 것이 효율적이다.

6.접근제어자가 private 갖는 필드나 메소드는 상속이 불가하다.

    

 

반응형

'java' 카테고리의 다른 글

[Java] parseInt()와 intValue()  (0) 2019.10.29
[Java] java.lang.ClassCastException  (0) 2019.10.28
[Java] 상속  (0) 2019.10.27
[Java] 추상 클래스  (0) 2019.10.26
[Java] 예약어 정리  (1) 2019.10.23
[Java] 지역변수와 전역변수  (0) 2019.10.23

+ Recent posts