본문 바로가기

국비

10.24 국비학원 14일차 (평가 풀이, 상속, Override)

평가 풀이에서 특이사항은 없었음! 재평가자는 아무도 없이 무사히 넘어갔다~.~

다시 진도 이어서 고고

 

  • 상속 (Inherit)

     - 다른 클래스가 가지고 있는 멤버변수, 멤버메서드 들을 새로 작성하는 클래스에서 직접 만들지 않고 상속을 받아서 

       자신의 멤버변수, 멤버메서드 처럼 사용할 수 있게 만드는 기능

     - 부모클래스에서 private 접근제한자를 사용하는 멤버들은 자식이라해도 접근 불가

     - 생성자는 상속되지 않음

     - extends 키워드로 상속 받을 수 있는 객체는 오직 1개 뿐 (다중상속 불가)

     - 상속 관계에서 객체가 생성될 때 부모가 먼저 생성된 후 자식이 생성

     - 자식 클래스에서 super 키워드를 사용하면 부모에 대한 접근으로 사용된다.   

 

    * 장점

     - 재사용성 높아짐

     - 적은 양의 코드로 새로운 클래스 작성

     - 코드의 중복을 최소화 하고 프로그램의 생산성 / 유지보수성에 기여

     - 공통 기능에 대해서는 상속을 통해 관리하기 때문에 관리 용이

 

  • 메서드 오버라이드(Override)

     - 기존 부모 클래스가 가지고 있는 메서드를 자식에서 재정의 하여 사용하는것

     - 기존 부모 클래스에 정의한 매개변수 타입/수, 메서드명, 반환타입 이 동일해야한다.

     - 메서드 오버라이드 대상에는 @Override 어노테이션 기입 권장 (필수는 아니나 메서드명에 대한 오타 확인 가능)

     - 접근제한자 범위 : 오버라이드 >= 부모클래스

     - 예외처리 범위/수 : 오버라이드 <= 부모클래스

     -  final 키워드가 사용된 메서드에 대해서는 오버라이드 할 수 없다.