Back End/JAVA

[Java] Annotation

수오니니 2022. 2. 26. 17:13

Annotation이란?

  • 코드에 달아주는 주석을 뜻하지만,  주석과 달리 런타임시 JVM에 유지 가능

 

@Override의 사용의미 :

컴파일러에게 오버라이딩 메소드라고 알려줌

 

 

1. "현재 자식클래스가 부모클래스를 상속받아서 부모클래스에서 선언한 메소드를 사용할 때 - 이건 부모클래스에 있는 메소드를 사용한 겁니다~~ " 라는 걸 다른 사람이 내 코드를 봤을 때 바로 알기 쉽게 해주려 한거 맞을까?

 

그렇다면

2. 부모클래스 메소드를 사용할 때 굳이 @Override 주석을 안써줘도
프로그램이 돌아가는데에는 아무런 영향이 없는게 맞을까?

 

=> 

1. 내가 짠 코드를 남이 볼 때 부모클래스의 메소드를 사용했구나~ 라는걸 알려주기 위함

2. @Override 주석 없이도 프로그램은 잘 돌아감

단, 부모클래스의 메소드를 사용할 때 스펠링이 틀리거나(이클립스에서는 자동완성기능으로 보완가능)

해당메소드 사용시 매개변수를 다르게 사용할 경우 에러 발생

 

 

이미지 및 자료 참고 : 

https://velog.io/@pearl0725/Override-%EC%96%B4%EB%85%B8%ED%85%8C%EC%9D%B4%EC%85%98%EC%9D%98-%EC%9D%98%EB%AF%B8%EC%99%80-%EC%82%AC%EC%9A%A9-%EC%9D%B4%EC%9C%A0%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C

 

@Override 어노테이션의 의미와 사용 이유는 무엇일까?

어노테이션은 JDK5 부터 등장하였으며, 클래스나 메서드, 변수에 @을 사용하는 것을 말합니다.어노테이션은 사전적 의미로 주석을 뜻합니다. 주석과는 역할이 다르지만, 주석처럼 달아 특수한 의

velog.io

 

사용이유! 

1. 안전핀 역할

2. 가독성

3. JVM이 더 빠르게 읽어드림!