1) Java Lang API
자바의 기본적인 클래스를 제공함. => Import하지 않아도 됩니다!
1-1. Object class
클래스 구조의 root위치에 있는 가장 기본적인 클래스
-
methods
-
object.clone()
: 객체를 카피=> shallow copy임.
-
equals(Object obj)
: 두 객체가 같은지를 판단함. -
hashCode()
: 객체의 hash code를 반환함. -
toString()
: 객체의 string representation을 반환함.
-
1-2. Array
기본적인 배열을 다룰 수 있는 클래스.
- methods
array.get(int index)
: 특정한 인덱스의 값을 받아옴.array.set(int index, Object value)
: 특정 인덱스의 값을 value로 설정함.
- variables
length
: array의 길이를 가져옴.
1-3. String
문자열을 다룰 수 있는 클래스.
-
String Class는 Reference type이다!
=> 그렇지만 new를 안 쓰고 생성할 수 있는 유일한 객체
-
하지만 Immutable이다!
=> StrungBuffers 클래스가 mutable string을 지원함.
-
문자열을 +연산을 통해서 더할 수 있음
-
그렇지만 약간 비효율적이기 때문에 StringBuilder 클래스가 등장함.
-
어떤 객체든 문자열과 +연산을 하면 자동으로 문자열로 변환됨.
-
-
Methods : concat, replace, charAt, substring, indexOf 등등…
1-4. StringBuffers
A thread-safe, mutable sequence of characters.
-
- thread-safe
-
multiple thread 환경에서도 안정적으로 돌아감. 왜냐하면 모든 StringBuffers 인스턴스들이 동기적으로 작동하기 때문.
-
- mutable string
-
기본적으로 string을 그 자체로 보는게 아니라 char 값들의 sequence로 보기 때문에 mutable일 수 있다.
-
문자열을 추가하거나 변경할 때 매우 유용함.
-
하지만 기본적으로 무거운 자료구조이기 때문에 리스크도 있음.
-
methods ( 참고링크 : 점프 투 자바 )
- append : 왠만한 자료형은 거의 가능함.
- insert : 특정 위치에 끼워넣기
- substring : 부분수열
public static void main(String[] args){ StringBuffer sb = new StringBuffer(); sb.append(1); sb.append('2'); sb.append(" Hello World! "); System.out.println(sb.toString()); sb.insert(6, "Good"); System.out.println(sb.toString()); System.out.println(sb.substring(0, 3)); }
12 Hello World! 12 HelGoodlo World! 12
1-4. StringBuilder
A mutable sequenece of characters, but with no guarantee of synchronization
-
기본적으로 성능은 StringBuffer보다 좋으나(2.6배정도??), 멀티쓰레드 환경에서는 동기화를 지원하지 않으므로 불안정합니다.
-
Method들은 StringBuffer와 거의 유사합니다.
1-5. Math : 수학과 관련된 메서드
- 필요한 수학 함수가 있을 때 검색해보면 됩니다. (외울필요 없음!)
1-6. Wrapper
-
기본형 데이터 타입을 객체화시켜주는 클래스(인터페이스)
=> 아무래도 객체면 멤버변수나 멤버메서드를 사용할 수 있으니 좋겠죠..?
-
사용예시
Integer iobject = new Integer(300); int ip = iobject.intValue();
-
- 가능한 자료형들
-
byte, short, int, long, float, double, boolean, char
int 제외하고는 그냥 capitalize만 하면 됨.