모든 클래스의 조상
필드 없이 메소드들만 갖고 있음
Object
인스턴스 선언하여 클래스 살펴볼 것
@IntrinsicCandidate
: HotSpot VM (현재 대다수 JVM) 에 의한 최적화
native
: C, C++ 등 다른 언어로 작성된 코드를 호출하여 성능 향상
toString
메소드println
메소드로 객체 출력시 기본적으로 이 메소드의 결과값 출력📁 ex01
☕ Button.java
public class Button {
public enum Mode {
LIGHT("라이트"), DARK("다크");
Mode(String indicator) { this.indicator = indicator; }
String indicator;
}
private String name;
private Mode mode;
private int spaces;
public Button(String name, Mode mode, int spaces) {
this.name = name;
this.mode = mode;
this.spaces = spaces;
}
// ⭐️ 아래를 주석해제하고 다시 실행해 볼 것
// @Override
// public String toString() {
// return "%s %s버튼 (%d칸 차지)"
// .formatted(mode.indicator, name, spaces);
// }
}
☕ Main.java
Button button1 = new Button("엔터", Button.Mode.DARK, 3);
// 💡 메소드를 ctrl/command + 클릭하여 Object 클래스 사양 살펴보기
System.out.println(button1); // ⭐️ toString() 을 붙인 것과 같음