Date

2021-03-11

8장 상속과 오버라이딩

상속(inheritance)?

부모클래스 : Super, Parent 클래스라고 하기도 한다.
자식클래스 : Sub, Child 클래스라고 하기도 한다.
자식은 부모의 멤버보다 같거나 많다.

    [접근제한] class 자식클래스명 extends 부모클래스명 {....}
우선적으로 부모클래스를 객체 생성 후에 자식클래스의 객체를 생성한다.



super와 this 키워드

  1. super() 키워드
      super.인자;
  1. this() 키워드
       this.인자;
생성자 첫 문장에 와야 한다. 그렇지 않으면 error 발생한다.



메서드 오버드라이딩(method overriding)

메서드 재정의 특징

메서드 재정의 조건



9장 API(Application Programning Interface) 와 인터페이스(Interface)

API란?

인터페이스란?


클래스와 다른점



10장 다형성(Polymorphism)과 패키지(Packages)

다형성이란?

instanceof 연산자

    참조변수 instanceof 클래스명(타입)
if(a instanceof Car) : 참조변수 a의 타입이 Car 클래스 타입인지를 체크한다. ==> true이면 Car 인스턴스 타입이고 false이면 Car 인스턴스 타입이 아니다.

패키지란?

      import 패키지명.서브패키지명.클래스명;
동일한 패키지에 있는 다른 클래스를 사용시에는 생략 가능하다.



몇가지 개념 설명

접근지정자(접근제어자) 권한


private

default

protected

public

접근 범위(scope) : public > protected > default > private

자바 빈(Java Bean)

final 지정자


마무리

배운 개념이 많아서 정확하게 잘 파악하고 넘어가야할 내용인 것 같다. 상속같은 경우는 특히 많이쓰니깐 예제를 통해서 몇번 복습 하는 중이며, 다음 정리에서는 예외처리, 유틸, 제네릭에 대해서 정리를 해본다.

자바 클래스가 끝나면 목차정리 포스팅을 적어야 보기 편할 것 같다.

  1. 즉, 특정 클래스를 만들 때 기존의 클래스의 데이터(속성)와 기능(메서드)을 그래도 물려 받아서 중복적인 코드를 없애준다. 

  2. 단, 생성자나 private 접근 제한을 갖는 멤버변수와 멤버메서드는 상속에서 제외된다. 

  3. 상속을 받을 수 있는 클래스는 하나이다. 

  4. 메서드 다중정의 - 동일한 클래스에서 발생한다. 

  5. 메서드 다중정의 - 매개변수의 갯수가 다르던지, 자료형이 다르던지… 

  6. 객체와 객체 중간에 놓이는 통신 채널. 

  7. 추상클래스보다 더 많이 사용이 된다. 

  8. 인터페이스의 추상메서드는 반드시 재정의(강제성이 부여됨) 

  9. 조상타입의 참조변수로 자식의 멤버를 호출.