728x90
반응형
<서브 클래스>
- 슈퍼 클래스의 멤버 모두 가지고 있음
- 슈퍼 클래스의 객체로 취급할 수 있음
<업 캐스팅>
- 서브 클래스 객체를 슈퍼 클래스 타입으로 타입 변환
class Person{
class Student extends Person{
Student s=new Student();
Person p=s; //업캐스팅 p=(Person)s; 생략 가능
}
}
<다운 캐스팅>
- 슈퍼 클래스 객체를 서브 클래스 타입으로 변환
- 개발자의 명시적 타입 변환
class Person{
class Student extends Person{
Person p=new Student("이제문")//업 캐스팅
Student s=(Student)p; // 다운 캐스팅 , (Student)의 타입 변환 표시 필요
}
}
<instanceof 연산자와 객체의 타입 판단>
- 업캐스팅된 레퍼런스로 객체의 타입 판단 어려움
--> 슈퍼클래스는 여러 서브 클래스가 상속되기 때문
- 레퍼런스가 가리키는 객체의 타입 식별을 위해 사용
객체레퍼런스 instanceof 클래스타입
연산의 결과:true/false의 boolean값
if(3 instanceof int)
-->문법 오류
instanceof는 객체에 대한 레퍼런스만 사용
728x90
반응형
'Java > 기초' 카테고리의 다른 글
[java 기초] 예외처리 (0) | 2021.07.06 |
---|---|
[java 기초] 입출력 스트림과 파일 입출력 (0) | 2021.07.05 |
[java기초] 기본패키지 (0) | 2021.07.05 |
[java 기초] 제네릭과 컬렉션 (0) | 2021.07.04 |
[java기초] 제네릭 프로그래밍 (0) | 2021.07.02 |
댓글