JAVA

[JAVA] Object 클래스, Wrapper 클래스

shb 2021. 11. 20. 19:00

Object 클래스(최상위 부모 클래스)

1. toString()
항상 객체명을 출력할 때에는 toString()이 생략되어 있다.
toString()을 통해 출력되는 문자열이 마음에 들지 않는다면, 재정의하여 수정하도록 한다.

 


2. equals() : 주소값 비교(==)
※ String 클래스에서 값을 비교하도록 재정의 되었다.


3. hashCode() : 해당 객체의 주소값
※ String 클래스에서 상수값의 주소를 리턴하도록 재정의 되었다.


---------------------------------------------------------------------------------


Wrapper Class : 기본 자료형들의 클래스 타입

클래스타입 객체 = new 클래스타입(일반 타입); //boxing

클래스타입 객체 = 클래스타입.valueOf(일반타입의 값); //고버전에서는 valueOf를 사용한다. 
일반타입 변수 = 박싱한객체.000Value(); //unboxing

 

int data_i = 10;

Integer data_I = new integer(data_i); // boxing

Integer data_I = integer.valueOf(data_i); // boxing

data_i = data_I.intValue(); // unboxing

JDK4 이상부터는 auto를 지원한다.

클래스타입 객체 = 일반타입의 값; //auto boxing
일반타입 변수 = 객체; //auto unboxing

 

int data_i = 10;

Integer data_I = data_i; // auto boxing

data_i = data_I // auto unboxing

Wrapper 클래스를 사용하는 이유
원시타입(일반타입)을 박싱하면 다양한 메소드를 제공받을 수 있다.
객체로 사용해야 할 때에는 반드시 박싱을 해주어야 한다.