[JAVA] 자바의 다양한 Class : Object 클래스, 문자열 반환, Wrapper클래스, 박싱과 언박싱, String, 문자열 함수, 문자열 관련 클래스, Math 클래스, Calendar 클래스
📌 Object 클래스
java.lang 패키지에 포함되어있는 클래스
모든 클래스의 슈퍼클래스
📌 객체를 문자열로 반환
String toString()
Object에 있는 toString()
➡️ 개발자는 필요에 따라 클래스에 맞는 toString을 설계해야 함
ex)
📌 Wrapper 클래스
자바의 기본 타입을 클래스화한 8개의 클래스
자료형 이리저리 다루는 클래스라고 보면 될 듯 !
이름이 Wrapper인 클래스는 존재하지 않음
Wrapper 객체들은 거의 유사, 많은 메소드가 static 타입
integer 클래스의 주요 메소드
📌 박싱과 언박싱
박싱 : 기본 타입의 값을 Wrapper 객체로 변환
언박싱 : Wrapper 객체에 들어 있는 기본 타입의 값을 빼내는 것
자동 박싱과 자동 언박싱
📌 String의 특징과 객체 생성
String - java.lang.String
String 생성자
📌 String 생성 방법
1. 리터럴로 생성
ex) String s = “Hello”;
2. String 객체로 생성
ex) String t = new String(”Hello”);
➡️ 수정 불가능
📌 문자열 함수
📌 문자열 비교
int compareTo(String anotherString)
문자열이 같으면 0 리턴
문자열이 뒷 문자열보다 사전상 먼저 나오면 음수 리턴
문자열이 뒷 문자열보다 사전상 나중에 나오면 양수 리턴
ex)
📌 문자열 연결
1. + 연산자
피연산자에 문자열이나 객체가 포함되어 있는 경우
객체는 객체.toString()을 호출하여 문자열로 변환한 뒤 연결
기본 타입 값은 문자열로 변환하여 연결
2. String concat(String str)
기존 String 객체에 연결되지 않고 새로운 스트링 객체 리턴
ex)
📌 공백 제거
Sring trim()
앞과 뒤의 공백문자(teb, enter sapce)를 제거한 문자열 리턴
(문자열 중간의 공백은 제거되지 않음)
📌 문자열의 문자 접근
char charAt(int index)
문자열 내의 문자 접근
ex)
📌 StringBuffer 클래스
가변 크기의 문자열 저장 클래스
java.lang.StringBuffer
String 클래스와 달리 문자열 변경 가능
객체의 크기는 스트링 길이에 따라 가변적
ex)
생성자와 메소드
📌 StringTokenizer 클래스
java.util.StringTokenizer
하나의 문자열을 여러 문자열로 분리
문자열 분리에서 사용되는 기준 문자 : delimiter
ex)
다음 예시에서 &가 구분 문자, delimiter
토큰 : 구분 문자로 분리된 문자열
String 클래스의 split() 메소드를 이용하여 동일한 구현 가능 ➡️ 자주 사용됨
생성자와 메소드
ex)
📌Math 클래스
java.lang.Math : 산술 연산 메소드 제공
모든 메소드는 static 타입 : 클래스 이름으로 바로 호출해야 함
Math클래스를 이용한 난수 발생
static double random()
0.0 이상, 1.0 미만의 임의의 double 값을 반환
ex)
다음과 같이 작성할 경우 0에서 100 사이의 난수 10개를 생성
➡️ Math.random()*100 → 0.0 ~ 99.99 사이의 실수 리턴
+) java.util.Random 클래스
다양한 형태로 난수 발생 가능
📌 Calendar 클래스
java.util.Calendar
→ 시간과 날짜 정보 저장 관리
(년, 월, 일, 요일, 시간, 분, 초, 밀리초, 오전/오후 등)
Calendar 객체 생성
Calendar now = Calendar.getInstance();
Calendar는 추상 클래스이므로 new 하지 않음.
now 객체는 현재 날짜와 시간 정보를 가지고 생성
날짜와 시간 알아내기
날짜와 시간 설정하기 (컴퓨터의 날짜와 시간을 바꾸는 것은 아님)