[언어]/JAVA

[JAVA] 자바의 다양한 Class : Object 클래스, 문자열 반환, Wrapper클래스, 박싱과 언박싱, String, 문자열 함수, 문자열 관련 클래스, Math 클래스, Calendar 클래스

seom-j 2023. 7. 10. 22:35

 

📌 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 객체는 현재 날짜와 시간 정보를 가지고 생성

 

날짜와 시간 알아내기

 

날짜와 시간 설정하기 (컴퓨터의 날짜와 시간을 바꾸는 것은 아님)