상속 (Inheritance)

김덕근·2022년 12월 22일
0

concept

목록 보기
10/21

부모(객체) 속성 + 기능을
자식(객체 (속성 + 기능)) + 부모 (속성 + 기능)

유지보수 및 재사용성 증가
코드길이 감소
상속의 장점!

상속

다른 클래스가 가지고 있는 멤버(필드, 메소드)들(부모)을 새로 작성할 클래스(자식)에서 직접 만들지 않고 상속을 받음으로써 새 클래스가 자신의 멤버처럼 사용할 수 있는 기능

상속의 목적

클래스의 재사용, 연관된 일련의 클래스들에 대한 공통적인 규약 정의

상속의 장점

  1. 보다 적은 양의 코드로 새로운 클래스 작성 가능
  2. 코드를 공통적으로 관리하기 때문에 코드의 추가 및 변경 용이
  3. 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여

표현식
클래스 간의 상속 시에는 extends 키워드 사용

방법
[접근제한자] class 클래스명(자식) extends 클래스명(부모) {}


super()와 super.

super()

부모 객체의 생성자를 호출하는 메소드로 기본적으로 후손 생성자에 부모 생성자 포함
후손 객체 생성 시에는 부모부터 생성이 되기 때문에 후손 클래스 생성자 안에는
부모 생성자를 호출하는 super()가 첫 줄에 존재 (부모 생성자가 가장 먼저 실행되어야 하기 때문에 명시적으로 작성 시에도 반드시 첫 줄에만 작성)
매개변수 있는 부모 생성자 호출은 super(매개변수, 매개변수)를 넣으면 됨

super.

상속을 통한 자식 클래스 정의 시 해당 자식 클래스의 부모 객체를 가리키는 참조변수
자식 클래스 내에서 부모 클래스 객체에 접근하여 필드나 메소드 호출 시 사용

profile
안녕하세요!

0개의 댓글