오늘의 할일
- "자바의 정석" 7장 다형성
다형성
정의
1) 조상타입의 참조변수로 자손 타입의 객체를 다루는 것.
1-1) ex) Tv t = new SmartTv(); -> t의 타입(Tv)와 인스턴스가 일치하지 않지만 상속관계라 허용.
Tv타입인 참조변수 t로는 SmartTv의 멤버는 사용불가하다(Tv리모컨에는 SmartTv의 기능을 다룰 수 있는 버튼이 없다!)
2) 자손타입 참조변수는 조상타입의 객체를 다룰 수 없다.
2-2) ex) SmartTv s = new Tv(); -> 자손(SmartTv)의 멤버가 조상(Tv)의 멤버보다 많기 때문에 없는 멤버를 호출 할 가능성이 있어 허용하지 않 음
(SmartTv리모컨에는 Tv에 없는 기능을 다루는 버튼 존재 -> 없는 버튼누르면 동작x -> error)
참조변수의 형 변환
- 사용할 수 있는 멤버의 개수 조절
- 상속관계 일때만 형변환 가능
자손타입 -> 조상타입 (Up-Casting)(멤버가 줄어든다) - 항상 안전 -> (Casting)생략가능 조상타입 -> 자손타입 (Down-Casting)(멤버가 늘어난다) - 안전X -> (Casting)생략X
💻Extract Parameter 리팩토링(매개변수 추출) 단축키 Ctrl + Alt + P
- 메서드 내의 변수나 표현식을 새로운 매개변수로 추출, 기존 메서드의 시그니처를 변경하지 않고 새로운 매개변수를 추가할 수 있다. 코드의 재사용성/유연성 향상.
'TIL' 카테고리의 다른 글
2025_01_08 TIL (0) | 2025.01.08 |
---|---|
2025_01_07 TIL (0) | 2025.01.07 |
2025_01_03 TIL (1) | 2025.01.03 |
2025_01_02 TIL (0) | 2025.01.02 |
2024_12_31 TIL (0) | 2024.12.31 |