자바 - 상속(Inheritance)

빵제이·2023년 7월 24일
0

자바

목록 보기
19/37

[ 상속 ]

    1. 다른 클래스의 기능(메소드)을 물려 받아서 사용할 수 있는 기능이다.
    1. 다음 관계가 있는 클래스들을 상속 관계로 만들 수 있다.
  • 1) is a 관계 : ~은 ~이다.
  • 2) has a 관계 : ~은 ~을 가지고 있다.
  • 참고) Java는 다중 상속을 지원하지 않는다.(부모가 둘은 불가능)

[ is a 관계 ]

    1. 상속 관계로 만들 수 있는 대표적인 관계이다.
    1. 예시
  • Student is a Person. (학생은 사람이다.)
    1. 개념
  • 자식클래스 is a 부모클래스

[ 부모 클래스 ]

    1. 자식 클래스에게 기능(메소드)을 제공한다.
    1. 슈퍼 클래스(super)라고 한다.

[ 자식 클래스 ]

    1. 부모 클래스의 기능(메소드)을 자신의 것처럼 사용할 수 있다.
    1. 서브 클래스(sub)라고 한다.

[ 상속 관계 도식 ]

┌--------------┐
│    Person    │ 슈퍼 클래스
│--------------│
│     eat()    │
│    sleep()   │
└--------------┘
        ▲
        │
        │
┌--------------┐
│    Student   │ 서브 클래스
│--------------│
│    study()   │
└--------------┘

  • 부모 클래스
public class Person {

  public void eat() {
    System.out.println("냠냠");
  }
  
  public void sleep() {
    System.out.println("쿨쿨");
  }
  
}
  • 자식 클래스
public class Student extends Person {

    public void study() {
      System.out.println("공부");
    }
  }
  
  • 메인 메소드
public static void main(String[] args) {
    
    // Student 객체 선언&생성
    Student s = new Student();
    
    // Student 객체 메소드 확인
    s.eat();    // 슈퍼 클래스로부터 상속 받은 메소드
    s.sleep();  // 슈퍼 클래스로부터 상속 받은 메소드
    s.study();  // 내 꺼
    
    
  }
profile
개인 아카이브

2개의 댓글

comment-user-thumbnail
2023년 7월 24일

정리가 잘 된 글이네요. 도움이 됐습니다.

1개의 답글