상속

 

 

상속이란?

기존 클래스를 재사용하여 새로운 클래스 작성(선언) 하는것

 

장점?
코드 재사용, 코드 중복 제거-> 생산성, 유지보수 향상
 

상속 선언 형식 : extends 키워드 사용한다.
  

   class 새로운클래스 extends 기존클래스{
  }


기존클래스   : 부모(parent)클래스, ***[Super 클래스]***, 기초(base) 클래스, 상위 클래스

새로운클래스 : 자식(child) 클래스, Sub   클래스            파생 클래스,    하위 클래스

 

 

단일 상속과 다중 상속 설명

자바에서는 클래스 간의 다중 상속을 금지시켜놨다.

이유  : 다중 상속을 하면 동일한 필드명의 값이 2개이상 상속될 수도 있기 때문이다.

 

 

 

클래스들 간의 관계

 

. has - a 관계

. is - a관계

 

 

결합력이 높은 코딩이란 ?

 

 

 

생성자를 통한 의존성 주입( DI) setter 를 통한 의존성 주입( DI ) 설명

 

 

super 정의와 3가지 용도

?????

 

 

 

상속계층도(예시)

 

 

생성자 호출 순서

 

 

 

 

업캐스팅 / 다운캐스팅

 

업캐스팅(upcasting) : 자식 객체 생성해서 부모객체에 참조 시키는 것

- 업캐스팅은 자동 형변환이 이루어진다.

 

***중요***

upCasting 함으로써(자료형이 상위클래스로 맞춰지니까) 객체 배열을 사용할 수 있게된다.

 

 

 

 

다운캐스팅(upcasting) : 부모 객체 생성해서 자식객체에 참조 시키는 것

-자동형변환 되지 않는다.-> 강제형변환 cast 연산자

- 업캐스팅이 안된 부모 객채를 다운캐스팅 하는 것은 불가능하다.

  부모자체 객체를 처음부터 다운캐스팅은 안된다.

 

 

final의 사용용도

 

1) final 클래스 선언 (subclass를 가질 수 없는 최종클래스)
2) final 변수 선언  ***(상수)
3) final 메서드 선언 (subclass에서 오버라이딩할 수 없다.)

 

 

 

 

윈도우 만들기

 

 

참고)  java.lang.Object 클래스 설명

모든 객체들의 조상클래스로 9가지의 메서드를 가지고 있다.

복사했습니다!