본문 바로가기

프로그래밍/Java

[Java 요약 정리] 3. java.lang 패키지

1. java.lang 패키지


1) Object클래스의 메소드

- 총 11개의 메소드를 가지고 있다.

- protected Object clone(): 객체 자신의 복사본 반환

- public boolean equals(Object obj): 객체 자신과 obj가 같은 객체인지 반환

- public Class getClass(): 객체 자신의 클래스 정보를 담고있는 Class 인스턴스 반환

- public int hashCode(): 객체 자신의 해시코드 반환

- public String toString(): 객체 자신의 정보를 문자열로 반환


* getClass()

- 자신이 속한 클래스의 Class객체를 반환하는 메소드(클래스 파일의 정보 반환)

- Class객체는 클래스의 모든 정보를 담고있으며, 클래스당 단 1개만 존재

*클래스파일이 메모리에 로드될 때 생성


2) String 클래스

- 문자형 배열(char[])과 그에 관련된 메소드들이 정의되어 있음

- String인스턴스의 내용 변경 불가(immutable)


3) StringBuffer클래스의 특징

- 내용 변경이 가능한 문자열 클래스 / equals()를 오버라이딩하지 않음

- 인스턴스 생성시 버퍼(배열)의 크기를 충분히 지정하는게 좋다.


4) wrapper클래스

- 기본형 타입을 클래스로 정의한 것(기본형 값을 객체로 다루기도 함)

- 내부적으로 기본형 변수를 가지고 있으며 값을 비교하도록 equals()가 오버라이딩 되어있음


5) clone() 메소드

- 자신을 복제하여 새로운 인스턴스 생성

- 얕은 복사: 원본 객체가 가지고있는 값만 복사해서 같은 인스턴스 참조

- 깊은 복사: 원본 객체를 복사해서 아예 다른 인스턴스 생성


6) String.format() 메소드

- 형식적인 문자열을 만들어내는 간단한 방법(printf와 사용법 동일)