https://www.yes24.com/Product/Goods/124821050
4주차(24.7.22- 7.28) Chapter 07
기본미션
▶ 클래스의 타입 변환 정리
클래스 타입 변환 : 다른 클래스 타입으로 객체를 대입하는 것
자동 타입 변환
: 프로그램 실행 도중에 자동적으로 타입 변환
- 자식 객체를 부모 타입 변수에 대입 시
- 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급
자동 타입 변환이 필요한 이유?
→ 다형성 구현.
→ 필드의 타입을 부모타입으로 선언시 다양한 자식 객체들이 저장,
필드 사용 결과가 달라 질 수 있음 (필드의 다형성)
부모타입 변수 = 자식타입; // 자동 타입 변환
--EX
Cat cat = new Cat();
Animal animal = cat; // Aninal animal = new Cat(); 가능
강제 타입 변환
: 자식 객체가 부모 타입으로 변환된 상태에서 다시 원래의 자식 타입으로 변환하고자 할 때,
캐스팅() 연산자를 사용해서 강제 타입 변환
자식 타입이 부모 타입으로 자동 타입 변환 시, 부모에 선언된 필드와 메소드만 사용 가능.
(자식에 선언된 필드와 메소드 필요시 강제 타입 변환 필요)
자식타입 변수 = (자식타입) 부모타입; // 부모 타입을 자식 타입으로 변환
-- EX
Parent parent = new Child(); // 자동 타입 변환
Child child = (Child) parent; // 강제 타입 변환
instanceof
: 매개값의 타입 조사.
메소드 내에서 강제 타입 변환이 필요할 경우 instanceof 연산자로 확인 후 강제 타입 변환 실행
boolean result = 좌항(객체) instanceof 우항(타입)
-- 좌항의 객체가 우항의 인스턴스,
-- 좌항의 객체가 우항의 타입으로 객체가 생성되었다면 true 리턴
-- 그렇지 않을 경우 false 리턴
-- Ex
public void method(Parent parent) {
if(parent instanceof Child) {
Child child = (Child) parent; // Parent 매개 변수가 참조하는 객체가
// Child 인지 조사
}
}
선택미션
▶ 07-3 확인문제 3번 풀이(p.389)
추상 클래스 : 클래스들의 공통적인 필드와 메소드를 추출해서 선언한 클래스
추상 메소드 : 추상 클래스에서만 선언할 수 있고, 메소드의 선언부만 있는 메소드.
추상 메소드는 자식 클래스에서 재 정의 되어 실행 내용을 결정
Q. HttpServlet이라는 추상 클래스가 다음과 같이 선언되어 있습니다.
public abstract class HttpServlet {
public abstract void service();
}
다음 클래스를 실행하면 "로그인 합니다.", "파일 다운로드 합니다." 가 차례대로 출력되도록
LoginServlet과 FileDownloadServlet 클래스를 선언 해보세요.
public class HttpServletExample {
public static void main(String[] args) {
method(new LoginServlet()); // 로그인 합니다.
method(new FileDownloadServlet()); // 파일 다운로드 합니다.
}
public static void method(HttpServlet servlet) {
servlet.service();
}
}
sol)
-- LoginServlet 클래스 선언
public class LoginServlet extends HttpServlet {
@Override
public void service() {
System.out.println("로그인 합니다.");
}
}
-- FileDownloadServlet 클래스 선언
public class FileDownloadServlet extends HttpServlet {
@Override
public void service() {
System.out.println("파일 다운로드 합니다.");
}
}
'혼공학습단' 카테고리의 다른 글
[혼공단12기] 혼자 공부하는 자바(개정판) 6주차(Chapter 10 ~ 11) (0) | 2024.08.13 |
---|---|
[혼공단12기] 혼자 공부하는 자바(개정판) 5주차(Chapter 08 ~ 09) (0) | 2024.07.28 |
[혼공단12기] 혼자 공부하는 자바(개정판) 3주차(Chapter 06) (0) | 2024.07.20 |
[혼공단12기] 혼자 공부하는 자바(개정판) 2주차(Chapter 04-05) (0) | 2024.07.08 |
[혼공단12기] 혼자 공부하는 자바(개정판) 1주차(Chapter 01-03) (0) | 2024.07.04 |