[Java] Object와 오버라이딩

재영양·2022년 9월 28일
0

Study

목록 보기
5/14

Object 클래스


  • 모든 클래스의 최상위 클래스
  • 아무것도 상속받지 않으면 자동으로 오브젝트를 상속받음
  • 오브젝트가 가지고 있는 메소드는 모든 클래스에서 다 사용 가능함

자주 쓰는 메소드

  • equals : 객체가 가지고 있는 값을 비교할 때 사용
  • toString : 객체가 가지고 있는 값을 문자열로 반환
  • hashCode : 객체의 해시코드 값 반환
    ⚠️ 반드시 오버라이딩해서 사용해야 한다.
public class Student {
    String name;
    String number;
    int birthYear;

    public static void main(String[] args) {
        Student s1 = new Student();
        s1.name = "홍길동";
        s1.number = "1234";
        s1.birthYear = 1995;

        Student s2 = new Student();
        s2.name = "홍길동";
        s2.number = "1234";
        s2.birthYear = 1995;

        if (s1.equals(s2))
            System.out.println("s1 == s2");
        else
            System.out.println("s1 != s2");
    }
}
>> s1 != s2
  • "s1 == s2"가 아닌 이유는 equals 메소드는 오브젝트가 구현하고 있는 메소드를 그냥 사용하고 있기 때문
    -> 오버라이딩을 해야함


오버라이딩(Overriding)


  • 쉽게 말해 "재정의"
  • 부모클래스에서 정의된 메소드나 변수를 자식클래스에서 상속받아 사용할 수 있는데, 여기서 부모클래스에서 상속받은 메소드를 자식클래스에서 재정의하여 사용하는 것을 오버라이딩이라 한다.

0개의 댓글