<java.lang.*>
: 자동 참조되는 패키지(import가 필요없음)
1)최상위 클래스(object 클래스)
2)자동상속
3)hashcode(), toString() 등등 유명한 메소드들이 귀속되어 있음
4)모든 하위 클래스는 object형으로 변환이 가능. 즉, 모든 객체를 받을 수 있다.
ex. Object o = "Hello"; -> String도 object 소속이니까
Object o = Hi hi
----------------------------------------소스코드 암기가 필요한 영역★
1. Wrapper 클래스
=형변환 클래스
기본형 타입의 변수를 객체로 사용해야 하는 경우, 기본형 타입 값을 객체로 포장(wrap): 기본형 변수를 객체화 시킨 클래스
-> 특정 기본형 타입을 나타낸다.
byte -> Byte
float -> Float
int -> Integer
long -> Long
ex. Integer 클래스 = 간단한 정수 값, Integer 클래스로부터 생성된 객체는 하나의 int 값을 저장할 수 있다
-기본형 변수: 저장만 가능
-객체형 변수: 저장, 가공(처리)메소드 포함
<예제>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public class Test {
public static void main(String args[]) {
String bin = Integer.toBinaryString(100);
//숫자를 2진수 문자열로 변환
System.out.println("100의 2진수는: " + bin);
Integer it = new Integer("10");
//Integer it = 10; -> 현재는 가능(오토박싱)
System.out.println("값 출력: " + it.intValue());
//객체변수에서 정수값 뽑아내기
int kuk = Integer.parseInt("100");
//문자열로 쓰인 숫자를 정수로 해석
System.out.println("숫자 kuk값 출력: " + kuk);
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
2. System 클래스
1)JVM 관련정보 제공
ex. 시스템 상의 현재 시간 등
2)콘솔 입출력
ex. System.out.println, System.in 등
3. Math 클래스
: 수학관련함수, 거의 static 메소드라 인스턴스 생성을 잘 안한다.
-> Math.xxx();
ex. Math.random(); -> 난수 발생 함수(0~1사이), 주로 주문번호 등 출력할 때 사용
4. String 클래스
1)== 사용금지
-> 문자가 아니라 실행 영역이 같은 지를 비교해버린다.
2).equals 사용 O
5. compareTo★
: 단순히 같은 지를 비교하는 게 아니라, 같냐, 크냐, 작냐, 를 전부 비교한다.
-> 사전식 비교
두 문자열을 사전 식으로 비교해, 비교하는 수보다 사전적으로 앞에 오면 음의 정수, 사전적으로 뒤에 오면 결과는 양의 정수가 반환된다.
-> 기준 수가 작으면 -1, 크면 1, 같으면 0
6. StringBuffer 클래스
: 메모리 비효율을 해소하기 위해 사용하는 클래스
-> 변수 속 데이터가 자주 바뀔 때, 메모리를 연장하는 기능을 수행한다. 본래 String은 상수기 때문에 조금이라도 수정하고자 하면 새로운 메모리를 할당받아야 하지만, StringBuffer를 사용하면 기존의 메모리를 연장해 사용할 수 있기 때문에 효율적으로 메모리를 운용할 수 있다.
-StringBuffer -> Thread safe(스레드 안정성) O (멀티스레드를 사용해도 충돌이 일어나지 않는다)
:멀티스레드일 때 사용
-StringBuilder(최신 코드) -> Thread safe X (멀티스레드를 사용할 경우 싱크로나이즈드 사용해야 한다)
:멀티스레드가 아닐 때 사용
'20.03 ~ 20.08 국비교육 > JAVA' 카테고리의 다른 글
package java.io. (0) | 2020.04.01 |
---|---|
package java.util. (0) | 2020.03.31 |
패키지, 패키지 간 참조 (0) | 2020.03.31 |
Synchronized (0) | 2020.03.31 |
스레드(Thread) (0) | 2020.03.30 |