- TO-DO LIST
- 33강 다형성 ~
- 배운 내용 요약 정리
- Java OOP 다형성
다형성이란?
하나의 타입이나 메소드가 여러 타입이나 메소드들을 가지거나 실행하는 능력
하위 클래스로 형 변환, 다운캐스팅
= 업 캐스팅의 반대작용
= 부모 클래스에서 자식 클래스로 형 변환 (단, 인스턴스의 그대로 돌아 가야함)
인스턴스의 타입으로만 다운 캐스팅 가능
하위 클래스 인스턴스 인지 확인하는 방법
instanceof
= 인스턴스의 객체 타입을 확인하는 연산자
= 형 변환 가능 여부를 true / false 로 반환
= "객체 instanceof 클래스"로 사용한다.
필요할 땐, 다시 자신의 타입으로!
static void checkBirdAndFly(Animal animal){
if (animal instanceof Bird ) {
Bird bird = (Bird) animal;
bird.fly();
}
else {
System.out.println("너는 새가 아니야");
}
}
Java 'final' 사용하기
final로 클래스 상속 / 함수 오버라이딩 막기
코드 추상화
클래스들 공통적인 속성/행위를 정의하여 코드 중복 줄이고, 다형성 실현함
추상클래스란?
실재하지 않지만, 하위의 공통적인 속성/행위를 기준으로 정의한 개념
인터페이스란?
인간이나 사물, 시스템 간에 커뮤니케이션이 가능하도록 설계한 상호 작용 방식
- 유저 인터페이스(UI)
유저 - 사물/시스템
2. 시스템 인터페이스
사물/ 시스템 - 사물/시스템
Java OOP에서의 인터페이스
자바 객체간 커뮤니케이션이 가능하도록 기능 구현을 설계(=메소드)하는 추상화 문법
메소드 구현의무 부여
- 부족한 점
- 스스로 시도해본 것들
- 해결 내용
- 알게된 점
- 헷갈리거나 실수한 점
- 회고
'SuperCoding' 카테고리의 다른 글
슈퍼코딩 웹개발 부트캠프 백엔드 2주차 인턴 후기 (0) | 2024.03.06 |
---|---|
2023.10.20(금) 슈퍼코딩 부트캠프 백엔드 인턴 Week2 Day5 보고 (0) | 2024.03.06 |
2023.10.18(수) 슈퍼코딩 부트캠프 백엔드 인턴 Week2 Day3 보고 (0) | 2024.03.06 |
2023.10.17(화) 슈퍼코딩 부트캠프 백엔드 인턴 Week2 Day2 보고 (0) | 2024.03.06 |
2023.10.16(월) 슈퍼코딩 부트캠프 백엔드 인턴 Week2 Day1 보고 (0) | 2024.03.06 |