이 골뱅이가 쳐진체로 외부 스코프에 존재하는 이 문구는 무엇이지?
이런 골뱅이가 쳐진 문구들을 어노테이션이라고 한다.
|
어노테이션은 일종의 주석과 비슷한데 차이는 컴파일 프로그램이 읽는 주석이다.
오버라이드 처럼 써도되고 안써도 되는 것도 있고,
상황에 따라 필수적으로 적어야 하는 어노테이션도 있다.
프로그램(컴파일러, jvm)은 어노테이션을 참고해서 특수한 기능을 수행할 수 있다.
이런 것들 중 lombok 이라는 getter setter를 사용할 수 있게 해주는 라이브러리가 있다.
단, 이런 임포트로 사용하는 것들은 패키지로 감싸져 있어야 된다.
이렇게 생성자를 부모타입으로 바꿔버릴 수 있다.
abstract class Animal{
String name;
}
class Cat extends Animal {
public Cat(String name){
this.name = name;
}
}
public class s08_2 {
public static void main(String[] args) {
Cat cat = new Cat("애옹쓰");
// 조상 클래스로 캐스팅 하는 것을 업캐스팅이라고 한다.
Animal animal = (Animal) cat;
}
}