영어 단어 뜻 Upcasting의 의미란 무엇인가?
* casting
무언가를 선정한다는 의미이며
길거리 케스팅을 생각하면 쉽게 이해 할 수 있다.
그런 케스팅을 기반으로 위를 나타내는 Up이 추가되었다.
그럼 최종적으로 위에거를 선택한다 라는 뜻이 된다.
그렇다면 자바상에서 업케스팅이란?
클래스 기반으로 이루어져있는 자바에서 "상속"이라는 개념속에서 등장한다.
즉, 부모 클래스의 타입을 그대로 물려받는다는 뜻이다.
이 말의 의미는 최소 2개 이상의 클래스가 있어야 성립이 된다.
그렇다면 왜 쓸까?
다양한 객체들을 부모의 타입으로 관리 할 수가 있기 때문이다.
예를들어
Problem)
: 중복되는 코드가 넘쳐난다.
Horse h = new Horse();
Lion l = new Lion();
Cat c = new Cat();
으로 선언했다고 하자.
말, 사자, 고양이를 클래스로 나타낼 경우에 각 각의 중복된 코드가 발생이 된다.
Solution)
↓(Upcasting 적용)
Aniaml h = new Horse();
Animal l = new Lion();
Animal c = new Cat();
Animal[] animals = {h, l, c};
class Animal {
//로 3개의 공통점을 적어주고 각 특징을 나타내기 위해서 각 개별 클래스를 상속 시키면 된다. //
}
class Horse extends Animal{
}
class Lion extends Animal{
}
class Cat extends Animal{
}
'* Web > [Back] Java' 카테고리의 다른 글
[Java] 자바 : (상속)부모 생성자 호출을 위한 super (0) | 2021.03.18 |
---|---|
[Java] 자바 : 메소드 오버로딩(Overloading) vs 메소드 오버라이딩(Overiding) 차이점? (0) | 2021.03.18 |
[Java] 자바 : 햇갈리는 this? 원리로 이해하는 개념 (0) | 2021.03.17 |
[Java] 자바 : 접근 제한자 private을 우회적으로 접근하는 getter, setter 이해하기 (0) | 2021.03.17 |
[Java] 자바 : 접근 제한자 큰 그림 이해하기 (0) | 2021.03.17 |
댓글