상속

류정훈·2022년 12월 22일
0

학습내용

목록 보기
6/15

상속

부모(객체) => 자식(객체)

  • 부모의 속성과 기능을 자식이 물려받는것
  • 자기만의 속성,기능 + 부모의 속성,기능 사용가능

상속이란?

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

상속의 목적

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

상속의 장점

  • 유지보수 및 재사용성 감소
  • 코드길이 감소

상속의 방법

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

    [접근제한자] class 클래스명 extends 클래스명 {}
    public class Academy extends Company {}


오버라이딩(Overriding) <암기>

자식 클래스가 상속 받은 부모 메소드를 재작성 하는 것
부모가 제공하는 기능을 후손이 일부 고쳐 사용하겠다는 의미로
자식 객체를 통한 실행 시 후손 것이 우선권을 가짐

특징

메소드 헤드라인 위에 반드시 Annotation, @Override 표시
접근 제어자를 부모 것보다 같거나 넓은 범위로 변경 가능
부모 메소드의 예외처리 클래스 처리범위보다 좁은 범위로 예외처리 클래스 수정 가능

성립조건

  • 메소드 이름동일
  • 매개변수의 개수,타입,순서 동일
  • 리턴타입동일
  • private메소드 오버라이딩불가

오버로딩(Overloading)<암기>

성립조건

같은 메소드 이름
다른 매개변수 선언부(매개변수 타입, 개수, 순서)
주의사항
메소드의 리턴타입은 오버로딩 조건과 관계 없음

오버라이딩(Overriding)과 오버로딩(Overloading)<암기>


FINAL예약어

final 클래스

  • 상속이 불가능한 클래스
    public final class finalClass {}
  • 상속시 오버라이딩이 불가능한 메소드
    public final void method() {}

profile
It works...why?

0개의 댓글