메서드 오버라이딩
오버라이딩의 조건
- 메서드 이름이 같아야한다.
- 매개 변수의 개수, 타입, 순서가 같아야 한다.
- 리턴 타입이 같아야 한다.
- 접근 제한자는 부모 보다 범위가 넓거나 같아야 한다.
- 조상보다 더 큰 예외를 던질 수 없다.
오버라이딩과 오버로딩의 차이
- 오버라이딩은 덮어쓰기
- 오버로딩은 추가 적재
예제 : https://private.tistory.com/25
Annotation
- 컴파일러, JVM, 프레임워크 등이 보는 주석
- 소스코드에 메타 데이터를 삽입하는 형태
@Deprecated
- 컴파일러에게 해당 메서드가 deprecated 되었다고 알려줌
@Override
- 컴파일러에게 해당 메서드는 override한 메서드 임을 알려줌
- @Override가 선언된 경우 반드시 super class에 선언 되어있는 메서드 여야 함
@SupressWarnning
- 컴파일러에게 사소한 warning의 경우 신경 쓰지 말라고 알려줌
equals
- 두 객체가 같은지를 비교하는 메서드
- 두 객체의 내용을 비교할 수 있도록 equals 메서드 재정의
- 객체의 주소 비교 : == 활용
- 객체의 내용 비교 : equals 재정의
private static void testString() {
String s1 = new String("Hello");
String s2 = new String("Hello");
System.out.println((s1==s2)+" : "+s1.equals(s2));
}
private static void testPhone() {
Phone p1 = new Phone("0100000000");
Phone p2 = new Phone("0100000000");
System.out.println((p1 == p2)+" : "+s2.equals(p2));
}
class Phone {
String number = "전화번호";
public Phone(String number) {
this.number = number;
}
}
'Java' 카테고리의 다른 글
[Java] Collection Framework (0) | 2022.07.26 |
---|---|
[Java] 접근제한자 (0) | 2022.07.22 |
[Java] 다형성(Polymorphism) (0) | 2022.07.21 |
[Java] Singleton 디자인 패턴 (0) | 2022.07.21 |
[Java] 상속 (0) | 2022.07.21 |