728x90
학습 목표
- 자바 객체지향 프로그래밍에서 다형성이 가지는 의미와 장점을 이해할 수 있다.
한 타입의 참조변수를 통해 여러 타입의 객체를 참조할 수 있도록 만든것을 의미
상위 클래스 타입의 참조변수를 통해 하위 클래스의 객체를 참조할 수 있도록 허용한것,하위클래스에선 상위 클래스로 객체 참조는안됨.
예를들어 홍길동이 extends를 요리사로 하면 new홍길동()을 할 시 홍길동만 뜨는것이 아니라 홍길동 +요리사 가같이 메모리에 뜬다 반대로 new요리사() 를할시 요리사 만 뜬다. 홍길동 h1 = new 홍길동() ,요리사 y1 = new 홍길동() 은 되지만 요리사 y2 = new 요리사()밖에안된다.
- 참조변수의 타입 변환에 대한 내용을 이해하고, 업캐스팅과 다운캐스팅의 차이를 설명할 수 있다.
타입변환을 위해서는 세가지 조건을 충족해야한다.
1. 서로 상속관계에 있는 상위 클래스 - 하위 클래스 사이에만 타입 변환이 가능합니다.
2. 하위 클래스 타입에서 상위 클래스 타입으로의 타입 변환(업캐스팅)은 형변환 연산자(괄호)를 생략할 수 있습니다.
3. 반대로 상위 클래스에서 하위 클래스 타입으로 변환(다운캐스팅)은 형변환 연산자(괄호)를 반드시 명시해야합니다.
- instanceof 연산자를 언제 어떻게 활용할 수 있는 지 이해하고 설명할 수 있다.
instanceof 연산자는 앞서 배웠던 참조변수의 타입변환, 캐스팅이 가능한지 여부를 boolean 타입으로 확인할수있는 문법 요소이다
참조_변수 instanceof 타입 을 입력했을때 리턴값이 트루가 나오면 참조변수가 검사한 타입으로 타입변환이 가능하며 반대인경우 타입변환이 불가능하다.
728x90
'TIL' 카테고리의 다른 글
[Java]람다식(Lambda Expression) (0) | 2022.09.15 |
---|---|
[Java]애너테이션(Annotation) (0) | 2022.09.15 |
[네트워크][HTTP]에러코드 (0) | 2022.09.14 |
[Java]컬렉션 (0) | 2022.09.14 |
[Java]캡슐화(Encapsulation) (0) | 2022.09.13 |