1. 메서드 오버라이딩
메서드 오버라이딩 정의
- 부모 클래스의 메서드를 상속받아 자식 클래스에 적합하게 수정하는 것
메서드 오버라이딩 조건
- 메서드 선언부가 동일해야 함(메서드 이름, 매개 변수의 개수, 타입, 순서, 리턴 타입이 동일)
- 접근 제한자는 부모보다 범위가 넓거나 같아야 함
- 부모 보다 큰 예외를 던질 수 없음
2. 어노테이션(Annotation)
어노테이션 정의
- 사전적 의미는 주석
- 프로그래밍에서의 의미는 컴파일러, JVM, 프레임워크 등이 보는 주석
- 소스코드에 메타 데이터를 삽입하는 형태(소스 코드에 붙여 놓은 라벨)
어노테이션의 예
- @Deprecated : 컴파일러에게 해당 메서드는 더 이상 사용되지 않는다고 알려줍니다. 해당 메서드가 더이상 필요 없지만, 다른 메서드와의 호환성 때문에 삭제하지 못하는 경우 이 메서드를 사용하지 않는 것을 권장할 때 사용됩니다. 단지, 권장만 할 뿐, 사용할 수는 있습니다.
- @Override : 컴파일러에게 해당 메서드는 override 한 메서드라는 것을 알려줍니다. 컴파일러는 이 어노테이션을 보고 오버라이드가 제대로 되었는지 확인하고 알려줍니다. 사용하지 않아도 실행하는 것은 문제가 없지만, 오버라이드가 제대로 안된 경우 컴파일러가 알려주기 때문에 사용하는 것이 좋습니다.
- @SuppressWarnings : 컴파일러에게 사소한 경고는 신경 쓰지 말라고 알려줍니다.
3. toString 메서드
- 객체를 문자열로 변경하는 메서드
- Object의 메서드는 단지 주소 값만 리턴
- 오버라이드를 통해 'toString'을 원하는 내용을 리턴하도록 변경할 수 있습니다.
// Object.toString()
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
// override toString()
@Override
public String toString() {
return "이름은 " + name + " 학번은 " + number;
}
'Language > Java' 카테고리의 다른 글
[Java] 제한자와 데이터 은닉 및 보호 (0) | 2022.01.22 |
---|---|
[Java] 패키지(Package)와 import (0) | 2022.01.21 |
[Java] 상속(Inheritance) (0) | 2022.01.21 |
[Java] 메서드(Method) (0) | 2022.01.20 |
[Java] 멤버 변수와 지역 변수 (0) | 2022.01.20 |