본문 바로가기
언어의 기초/자바(JAVA)

[JAVA] Object클래스, Wrapper, Generic

by 지에스정 2021. 12. 6.

Object 클래스

 

모든 클래스들의 최상위 클래스

toString() : 객체를 출력시 나올 문자열 정의 (객체에 대해 설명하는 문자열)

== : 두 주소값이 같은지 확인하는 연산자

equals() : 두 주소값이 같은지 확인하는 메소드

hashCode() : 해쉬값(주소값 관련된 고유한 int값)을 리턴

 

우리가 만드는 클래스에서 주소값이 아닌 다른 값 으로 활용할 수 있도록 재정의 할 수 있는 능력이 필요하다

 

Math 클래스

 

수학적인 메소드들과 계산이 필요한 상수를 가지고 있는 클래스

 


 

wrapper 클래스

 

기본형 타입인 변수를 객체로 사용 가능하게 도와주는 클래스

기본형 타입의 클래스 타입

기본형 타입의 값을 마치 객체로 감싸고 있다고 보여서 wrapper 클래스

 

 int = Integer
char = Character

 ...

wrapper클래스명 객체명 = new Wrapper생성자(값); //박싱
Wrapper클래스명 객체명 = (Wrapper클래스명)값; //박싱

Wrapper객체.~~~Value(); // 언박싱

 

jdk 1.5버전부터는 오토를 지원한다.

 

Wrapper클래스명 객체명 = 일반자료형값; //오토박싱
기본자료형 변수명 = Wrapper객체; //오토언박싱

 

Wrapper 클래스를 사용하는 이유

 

기본형 타입을 객체로 다루어야 할 때

기본형 타입이 아닌 객체로 값을 저장해야 할 때

매개변수로 객체를 넘길 때 (특히 Object 타입에)

객체간의 비교가 필요할 때

 


Generic(제네릭)

 

 자료형을 선언할 때 정하지 않고 사용할 떄 정해주는 기법

 

 <키워드>

E : Element

 N : Number

T : Type

K : Key

V : Value

 

1. 제네릭 클래스

 

    클래스 내부에서 사용될 자료형을 지정한다

  

class 클래스명<키워드>{
	내부에서는 키워드를 타입으로 사용가능
}

 

2. 제네릭 메소드

   메소드 내부에서 사용될 자료형을 지정한다

  

<키워드>리턴타입 메소드명 (){
	내부에서 키워드를 타임으로 사용가능
}

3. 제네릭 인터페이스

   인터페이스 내부에서 사용될 자료형을 지정한다

interface 인터페이스명<키워드>{
	내부에서 키워드를 타임으로 사용가능
}