반응형
Notice
Recent Posts
Recent Comments
Link
불로구
25강. (JAVA) 자바 - 타입 변환 & 다형성 (1) 본문
반응형
기본 타입에 타입 변환이 있듯, 클래스에서도 타입 변환이 있다! 이번 강의는 총 2편으로 놔누어 타입 변환과 다형성에 대해 알아보자!
다형성
- 사용 방법은 동일하지만 다양한 객체를 이용해서 다양한 실행 결과가 나오게 하는 자바의 성질을 의미한다
이 말의 의미는, 자동차는 어떤 엔진을 쓰냐에 따라 주행 속도가 달라진다는 말과 비슷하다!
다형성의 구현 방법
- 메서드 재정의 + 타입 변환
1) 자동 타입 변환
- 자동 타입 변환이란, 프로그램 실행 중 자동으로 타입을 변환하는 것을 말한다.
이렇게 자식은 부모의 타입으로 자동 타입 변환을 할 수 있다.
자식은 부모의 특징과 기능을 상속받았기 때문에 동일하게 취급될 수 있는 것이다.
class Product{
final public void product(){
System.out.println("상품");
}
}
class Computer extends Product{
}
class Mouse extends Computer{
}
public class Test {
public static void main(String[] args){
Product p = new Product();
Computer c = new Computer();
Mouse m = new Mouse();
Product p1 = c;
Product p2 = m;
Computer c1 = m;
}
}
}
위 소스의 상속 계층을 그림으로 나타내면 이러한 모습이다. computer는 product를 상속하므로 자동 타입 변환이 가능하며, product를 상속받는 computer를 상속하는 mouse 또한 product로 자동 타입 변환이 가능하다
2) 강제 타입 변환
- 강제 타입 변환은 부모 타입을 자식 타입으로 변화하는 것을 말한다.
- 단, 모든 부모 타입이 자식 타입으로 변환하지 못하고 자식 타입이 부모 타입으로 자동 타입 변환 후 다시 자식
타입으로 변환하는 것을 강제 타입 변환이라고 한다!
별표 친 부분을 주의하면 된다!
예전에 필기한 노트를 참고하면 좋을 것 같다!!
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
27강. (JAVA) 자바 - 추상 클래스, 추상화 (0) | 2020.06.19 |
---|---|
26강. (JAVA) 자바 - 객체 타입 확인 (instanceof) (2) (0) | 2020.06.16 |
24강. (JAVA) 자바 - 부모 메소드 호출(super) & final (0) | 2020.06.16 |
23강. (JAVA) 자바 - 오버라이딩(Overriding) (0) | 2020.06.15 |
22강. (JAVA) 자바 - 상속(Inheritance) (0) | 2020.06.15 |
Comments