7. 클래스 - (8) 최상위 클래스(Object)

한승록·2023년 5월 2일
0
post-thumbnail
Object 클래스는 자바의 모든 클래스의 최상위 슈퍼 클래스입니다.
따라서 아무런 클래스를 상속하지 않으면 최상위 클래스인 Object 클래스를 자동으로 상속하게 됩니다. 자바 내장 메서드인 toString()을 예로 들어보겠습니다.
class Animal {
	
	private String breed;
	
	public Animal(String breed) {
		this.breed = breed;
	}
	
	@Override
	public String toString() {  
		return String.format("이 동물의 종은 %s 입니다", breed);
	}
}


public class Velog {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		String breed;
		
		System.out.print("동물의 종류 입력 : ");
		breed = sc.nextLine();
		
		Animal ani = new Animal(breed);
		
		System.out.println(ani.toString());
		
		sc.close();
	}
}

<※ 결과는 다음과 같습니다.>

자 해당 예제의 Animal 옆에 'extends'라던지 'implements'와 같은 상속시키는 구문이 있나요?
분명 제눈에 해당 구문은 안보입니다만 @Override되어 있는것은 보입니다. 즉, 상속받은 클래스가 없는데 오버라이딩되어 있다는 것입니다.

해당 의문점에 대한 정답은 바로 toString()메서드가 소속되어 있는 클래스에 있습니다.
toString() 메서드는 앞서 언급드렸던 것처럼 자바에 내장되어 있는 메서드로 Object 클래스인 최상위 클래스의 메서드입니다. 자바의 모든 클래스는 Object를 상속받기 때문에 따로 'extends' 라던가 'implement' 구문을 통해 따로 상속을 시켜주지 않아도 되는 것입니다.

여기서 다시한번 짚고넘어가야 하는 개념은
  1. Java의 기본 단위는 클래스이다
  2. Object는 Java의 모든 클래스에 상속한다
이 두 가지라고 말씀드리며 이번 포스트 마치도록 하겠습니다.
profile
개발 학습

0개의 댓글