어노테이션

Programing Language/Java

[Java] 어노테이션 (Annotation)

어노테이션(Annotation) 어노테이션은 애플리케이션이 처리해야 할 데이터가 아닌, 컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할 것인지를 알려주는 정보이다. 어노테이션은 클래스, 인터페이스, 어노테이션, 필드, 생성자, 메서드 등 여러 곳에 적용될 수 있다. 어노테이션은 대게 아래 세 가지 용도로 사용된다. 코드 문법 에러 체크 어노테이션은 컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공한다. 예로 @Override 어노테이션이 메서드 앞에 명시된 경우, 이는 해당 메서드가 오버라이드 된 메서드임을 컴파일러에게 알려주는 것이다. 컴파일러는 @Override 어노테이션을 보고 그 메서드가 오버라이드 된 것인지 확인한다. 그리고 오버라이드 된 메서드가 아닌 경우 컴파일 에러를 발생시..

Programing Language/Java

[Java] 오버라이딩(Overriding)과 오버로딩(Overloading) 예제

오버라이딩 (Overriding) Overloading 과는 다른 개념으로, 오버라이딩은 상속 관계에서 부모 클래스에 있는 메서드를 재정의하는 것이다. 부모 클래스에 있는 메서드와 매개변수 리스트가 동일해야 한다. 또한 부모 클래스에 있는 메서드와 접근 권한 수식어가 동일할 필요는 없지만 기존 부모 클래스의 메서드 접근 권한의 범위보다 작게 설정할 수는 없다. 즉, 접근 권한은 같거나 더 넓은 수식어를 사용해야 한다. 메서드 앞에 final 키워드가 붙으면 해당 메서드는 더 이상 오버라이딩이 불가능하다. 클래스 앞에 final 키워드가 붙으면 해당 클래스를 상속할 수 없다. 예제 Main.java public class Main { public static void main(String[] args) {..