java @override, 어노테이션 업캐스팅

Wald Eisen·2023년 7월 6일

study

목록 보기
10/26

@OVERRIDE ?

이 골뱅이가 쳐진체로 외부 스코프에 존재하는 이 문구는 무엇이지?
이런 골뱅이가 쳐진 문구들을 어노테이션이라고 한다.
|
어노테이션은 일종의 주석과 비슷한데 차이는 컴파일 프로그램이 읽는 주석이다.
오버라이드 처럼 써도되고 안써도 되는 것도 있고,
상황에 따라 필수적으로 적어야 하는 어노테이션도 있다.
프로그램(컴파일러, jvm)은 어노테이션을 참고해서 특수한 기능을 수행할 수 있다.

  • 오버라이드 역시 어노테이션의 일종이다.
  • '기각하다', '무시하다' 의 뜻을 가지고 있다.
  • 상속의 관계에 있는 클래스 간에 하위 클래스가 상위 클래스와 '완전 동일한 메소드'를 덮어쓴다
  • 이 말인 즉, interface나 extends 같은 확장 클래스를 사용할 때 쓰는 것.

이런 것들 중 lombok 이라는 getter setter를 사용할 수 있게 해주는 라이브러리가 있다.
단, 이런 임포트로 사용하는 것들은 패키지로 감싸져 있어야 된다.

업캐스팅

이렇게 생성자를 부모타입으로 바꿔버릴 수 있다.

  • Animal animal = (Animal) cat;
    타입 형변환과 비슷하게 진행된다.
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;
    }
}

0개의 댓글