1. Object 클래스
(1) java.lang 패키지에 포함된 클래스
1) Object : 모든 자바 클래스의 최상위 클래스로 사용
2) System : 키보드로부터 데이터를 입력받을 때 사용
프로세스를 종료시킬 때 사용
진행 시간을 읽을 때 사용
시스템 속성(프로퍼티)를 읽을 때 사용
3) String : 문자열을 저장하고 조작할 때 사용
4) StringBuilder : 효율적인 문자열 조작기능이 필요할 때 사용
5) Btye, Short, Character, Integer, Float, Double : 기본 타입의 값을 포장할 때 사용
6) Boolean : 문자열을 기본 타입으로 변환할 때 사용
7) Math : 수학 계산이 필요할 때 사용
8) Class : 클래스의 메타정보(이름, 구성멤버) 조사할 때 사용
(2)메소드
String toString() 객체 문자 정보를 리턴
boolean equals(Object object) 객체의 번지를 비교하고 결과를 리턴
int hashCode() 객체의 해시코드를 리턴
1) toString()
Object의 toString()는 참조값을 문자열 형태로 출력한다
( 클래스 경로와 이름 @ 16진수로 변환된(해쉬코드))
참조변수를 print()등의 출력메소드로 출력하면 항상 toString()이 사용된다 => 참조값이 나오는 이유
toString()을 통해 출력되는 문자열을 바꾸고 싶으면 재정의해서 사용하면된다
2) equals()
Object의 equals()는 사실 ==(관계연산자)와 같다
(주소값 비교)String의 equals()는 재정의 되어 값을 비교한다
-> 문자열의 비교는 equals() 사용한다
3) hashCode()
Object의 hashCode()는 객체의 주소값을 특정 알고리즘을 거쳐서 정수값으로 반환한다
equals()를 재정의한다면 hashCode()도 재정의하도록 권장한다
(두 객체의 equals()가 true라면 hashCode()도 동일하게 나오도록 재정의하는 것을 의미함)
객체 해시코드 : 객체를 식별하는 정수를 의미
두 객체가 동등함을 비교할 때 hashCode()와 equals() 메소드를 같이 사용하는 경우가 많다
2. Wrapper Class
(1) java.lang 패키지
char, int 타입이 Character, Integer
기본타입의 첫문자를 대문자로 바꾼 이름을 가지고 있다
(2) Wrapper Class
기본 자료형들의 클래스 타입
기본타입(원시타입) wrapper클래스(참조형)
short Short
byte Byte
int Integer
long Long
double Double
float Float
boolean Boolean
char Character
기본타입은 변수의 값을 그대로 저장한다
참조형은 객체의 레퍼런스를 저장한다
참조형에는 객체가 할당되어야하는데 기본형과 달리 그 사이즈가 유동적이라서
Heap 영역에 별도 메모리 공간을 차지하고 그 곳에 할당한 뒤
변수에는 해당 Heap 영역의 주소값을 가리키게 된다
(3) 박싱과 언박싱
1) boxing : 기본타입의 값을 wrapper 클래스의 객체로 변환
2) unboxing : wrapper 클래스에서 기본타입의 값으로 변환
클래스타입 객체 = new 클래스타입(일반타입의 값); // boxing (예전방법)
클래스타입 변수 = 클래스타입.valueOf(일반타입의 값); // boxing
일반타입 변수 = 객체.일반타입Value(); // unboxing\
jdk 4버전 이상부터 auto를 지원한다
클래스타입 객체 = 일반타입의 값; // auto boxing;
일반타입 변수 = 객체; // auto unboxing;
(4) wrapper class를 사용하는 이유
일반타입(원시타입)을 박싱하면 다양한 메소드를 제공받을 수 있다
여러 일반타입을 하나의 타입으로 묶기 위해서는 반드시 클래스 타입(wrapper class)로 사용해야하고
이 때 박싱을 해주어야 한다
(5) String 클래스 메소드
1) charAt() : 문자열에서 해당 인덱스 번호의 문자를 char 타입으로 반환
2) indexOf() : 특정 문자나 문자열을 앞에서부터 찾아 처음으로 찾게되는 인덱스를 반환, 없을 경우 -1을 반환
3) split() : 구분 문자를 기준으로 문자열을 잘라 배열에 담아 반환
4) substring(start,end) : 시작 인덱스 번호부터 종료인덱스 -1 까지의 문자열을 반환
5) length() : 문자열의 길이를 반환
6) strip() : 문자열 앞뒤의 공백 제거
'Java > Java 기초' 카테고리의 다른 글
Set과 Map (0) | 2024.01.04 |
---|---|
컬렉션 프레임워크 (0) | 2024.01.03 |
예외처리, API (0) | 2023.12.26 |
내부 클래스, 익명 클래스, 람다식 (0) | 2023.12.22 |
추상클래스와 인터페이스 (0) | 2023.12.21 |