728x90
반응형
<오늘의 학습>
1. 업캐스팅
2. 다운캐스팅
3. instanceof
4. 오버라이딩
5. 오버로딩
6. 연결 리스트 (Linked list)
1. 업캐스팅
- 서브 클래스 객체를 슈퍼 클래스 타입으로 타입 변환하는 것
- 업캐스팅된 레퍼런스는 객체 내에 슈퍼 클래스의 멤버만 접근이 가능하다.
class Person {...}
class Student extends Person {...}
Student s = new Student();
Person p = s;//업캐스팅 자동타입 변환
Person p = new Student();//업캐스팅
- 레퍼런스 p를 이용하면 Student 객체의 멤버 중 Person의 멤버에만 접근이 가능하다.
2. 다운캐스팅
- 슈퍼 클래스 객체를 서브 클래스 타입으로 변환하는 것
- 개발자의 명시적 타입 변환 표시가 필요하다.
class Person {...}
class Student extends Person {...}
Person p = new Student();//업캐스팅
Student s;
s = (Student)p; //다운캐스팅
3. instanceof
- 레퍼런스가 가리키는 객체의 타입 식별을 위해 사용한다. 슈퍼 클래스는 여러 서브 클래스에 상속되기 때문에 업캐스팅된 레퍼런스로 객체의 타입을 판단하는 것이 어렵기 때문이다.
- 사용 : 객체 레퍼런스 instanceof 클래스타입
- 연산의 결과는 true와 false의 boolean 값으로 나온다.
실습 내용
[JAVA] 과일 예제 (업캐스팅/다운캐스팅)
문제1 아래의 Fruit 클래스와 main를이용해 Banana, Orange, Apple 클래스를 작성하라. Fruit 클래스 상속 받아 Banana, Orange, Apple 클래스 생성 3개의 클래스는 int형 price 변수를 가지며, 생성자를 통해 초기화
deliciouscode.tistory.com
다음 학습
[JAVA] 오버라이딩과 오버로딩, 연결 리스트 (14일차)
1. 업캐스팅 2. 다운캐스팅 3. instanceof 4. 오버라이딩 5. 오버로딩 6. 연결 리스트 (Linked list) 4. 오버라이딩 (재정의) 슈퍼 클래스에 선언된 메소드를, 각 서브 클래스들이 자신만의 내용으로 새로 구
deliciouscode.tistory.com
728x90
반응형
'HRD_훈련 > JAVA' 카테고리의 다른 글
[JAVA] 추상 클래스와 인터페이스 실습 (15일차) (0) | 2023.06.05 |
---|---|
[JAVA] 오버라이딩과 오버로딩, 연결 리스트 (14일차) (0) | 2023.06.01 |
[JAVA] static 멤버와 상속 (13일차) (0) | 2023.05.31 |
[JAVA] 클래스 실습 (12일차) (0) | 2023.05.30 |
[JAVA] 배열과 정렬 실습 (11일차) (0) | 2023.05.28 |