자바생
article thumbnail
Published 2021. 5. 24. 20:43
Object 메소드 Java
728x90

자바 공식 문서에서 Object 메소드에 equals와 toString이 있다.

 

public String toString()

  • 모든 Wrapper 클래스는 객체를 문자열로 변환하는 toString() 메소드를 가지고 있음

 

Integer i = Integer.valueOf(11);

1) System.out.println( i.toString() ); 

2) System.out.println(i);

 

1)과 2)의 결과값은 같다.

 

public boolean equals(Object o)

  • 객체 내부의 값을 비교함

 

Integer x1 = 6;
Integer x2 = 7;
Integer y1 = 6;
int y2 = 6;

System.out.println(x1.equals(x2)); //false

System.out.println(x2.equals(y1)); //flase
System.out.println(x1.equals(y1)); //true
System.out.println(y1.equals(y2)); //true

 

y1과 y2를 비교할 때, 값은 같고 타입이 int와 Integer로 다르지만 true가 나온 이유는 Auto Boxing/Auto Unboxing이 이뤄졌기 때문이다.

Integer가 필요한 곳에 int가 들어가면 Integer로 변하는 Auto Boxing

int가 필요한 곳에 Integer가 들어가면 int로 Auto Unboxing

728x90
profile

자바생

@자바생

틀린 부분이 있다면 댓글 부탁드립니다~😀

검색 태그