[자바인강] 4주차 학습일지

Jae·2022년 4월 18일
0

Java 학습일지

목록 보기
4/8

Part03. 객체 지향 핵심

01. 객체 간의 상속

클래스 상속

  • 새로운 클래스를 정의한다.
    = 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 구현한다.
  • 구현된 클래스보다 더 디테일한 클래스를 구현해야 할 때 상속한다.
  • 상속 문법
    class 자식 extends 부모 {
    }

02. 상속 예제 - 멤버십 클래스 구현하기

03. 상속에서 클래스 생성 과정과 형 변환

상속에서 하위클래스의 생성과정

  • 하위 클래스를 생성하면 상위 클래스가 먼저 생성된다.
  • 상속 시, 하위 클래스의 생성자에서 반드시 상위 클래스의 생성자를 호출한다.

super 키워드

  • 부모 클래스로부터 상속받은 필드나 메소드를 자식 클래스에서 참조하는 데 사용하는 참조 변수
  • 부모 클래스의 멤버와 자식 클래스의 멤버 이름이 같을 경우, super 키워드로 구분한다.
    (= 인스턴스 변수의 이름과 지역 변수의 이름이 같을 경우, 인스턴스 변수 앞에 this 키워드를 사용하여 구분한다.)
  • 이렇게 자바에서는 super 참조 변수를 사용하여 부모 클래스의 멤버에 접근할 수 있다.
  • this와 마찬가지로 super 참조 변수를 사용할 수 있는 대상도 인스턴스 메소드뿐이며, 클래스 메소드에서는 사용할 수 없다.

04. 오버라이딩 (=메서드 재정의하기)

오버라이딩 (overriding)

  • 상속받은 부모 클래스의 메소드를 재정의하여 사용하는 것
    (= 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니쳐를 갖는 메소드로 다시 정의하는 것)
  • 자바에서 자식 클래스는 부모 클래스의 private 멤버를 제외한 모든 메소드를 상속받는다.
  • 이렇게 상속받은 메소드는 그대로 사용해도 되고, 필요한 동작을 위해 재정의하여 사용할 수도 있다.
profile
Jae's Development Area : 재개발구역

0개의 댓글