
상속
상속이란?
기존 클래스를 재사용하여 새로운 클래스 작성(선언) 하는것
장점?
코드 재사용, 코드 중복 제거-> 생산성, 유지보수 향상
상속 선언 형식 : 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가지의 메서드를 가지고 있다.
'Java' 카테고리의 다른 글
[Java] 오토 박싱/언박싱__개발공부 21일차-1 (0) | 2022.03.23 |
---|---|
[Java] 클래스(5)-다형성__개발공부 18일차-1 (0) | 2022.03.15 |
[Java] 클래스(3)__개발공부 16일차-1 (0) | 2022.03.11 |
[Java] 클래스(2)__개발공부 15일차-1 (0) | 2022.03.11 |
[Java] 클래스(1)__개발공부 14일차-1 (0) | 2022.03.10 |