lang
- import 구문 없이도 사용가능한 패키지
Object
equlas(Object obj)
hashCode()
- 메모리 주소를 바탕으로 HachCode반환
- equals를 오버라이딩 할 경우 hashCode도 무조건 같이 오버라이딩 해야함
toString()
- 인스턴스에 대한 정보를 문자열(String)로 제공할 목적으로 정의한 것
clone()
- 자신을 복제하여 새로운 인스턴스를 생성
getclass()
- 자신이 속한 클래스의 Class 객체를 반환하는 메서드
- Class 객체는 클래스의 모든 정보를 담고 있으며, 클래스당 단 1개만 존재한다. 그리고 클래스 파일이 ‘클래스 로더(ClassLoader)’에 의해서 메모리에 올라갈 때, 자동적으로 생성된다.
String
- 변경 불가능한 (immutable) 클래스
- 한번 생성된 String 인스턴스가 갖고 있는 문자열은 읽어 올 수만 있고 변경할 수 없다.
ex) +연산자로 문자열을 합치면, 새로운 인스턴스가 생성된다.
- 생성자로(new) 만들어지면 메모리의 힙영역에 저장
- 리터럴 객체로 생성(A='B' 형식)되면 스택 영역에 저장
compareTo() : 값을 비교하여 같으면 0, 다르면 다른 값을 반환
indexOf() : 문자열 내에서 특정 문자열을 찾을 때 사용
charAt() : 특정 위치의 문자 한 개를 반환
substring() : 특정 구간의 문자열을 반환
replace() : 특정 문자를 다른 문자로 변환
toUpperCase() : 문자열 내의 문자 전체를 대문자로 변환
toLowerCase() : 문자열 내의 문자 전체를 소문자로 변환
valueOf() : 임의의 자료형을 String으로 변환하여 반환
equals() : 비교하는 대상이 같은 객체를 참조하는지에 대한 결과를 true 또는 false로 반환
toString() : 형변환을 통해 객체를 텍스트로 반환할 수 있게 해준다. 숫자형 데이터를 문자로 나타내야 할 때 많이 이용
StringBuffer, StringBuilder
- 문자열 관리, 수정이 가능하고 크기가 자동으로 조절되는 버퍼를 제공
- StringBuffer는 멀티쓰레드에 안전(thread safe)하도록 동기화 되어 있다.
- 멀티쓰레드로 작성된 프로그램이 아닌경우, StringBuffer의 동기화는 불필요하게 성능만 떨어뜨린다.
- 그래서 StringBuffer에서 쓰레드의 동기화만 뺀 StringBuilder가 추가되었다
- 비교 : equals를 오버라이딩 하지 않아서 toStirng으로 비교해야한다.
1 2 3 4 5 6 7 | StringBuffer aa = new StringBuffer("aa"); StringBuffer bb = new StringBuffer("aa"); StringBuilder cc = new StringBuilder("aa"); System.out.println(aa.equals(bb)); //false System.out.println(aa.toString().equals(bb.toString())); //true System.out.println(aa.toString().equals(cc.toString())); //true | cs |
Wrapper
- 기본형을 객체처럼 다룰 수 있게 해주는 클래스, 형변환 메소드들을 포함
- 오토박싱 , 언박싱
기본형 값을 래퍼클래스의 객체로 자동변환해주는 것을 오토박싱
반대로 변환하는 것을 언박싱이라 한다.
1 2 3 | ArrayList<Integer> list = new ArrayList<>(); list.add(10); // 오토박싱 10을 Integer객체 변환 int value = list.get(0); // 언박싱 Integer객체를 int형 변환 | cs |
- 비교연산자는 사용불가 == X , compareTo()사용
- 정수형 클래스는 각각 캐시를 가지고 있어서 각각의 범위의 값이 대해서는 캐시를 반환해준다.
System
- 운영체제 시스템과 관련된 기능을 제공하는 클래스
- 모든 멤버가 static 이기 때문에 인스턴스 객체를 생성할 필요가 없다.
Stream
- 입출력장치를 프로그램과 연결해주는 역할
- JAVA의 모든 입출력은 Stream을 통한다.
InputStream in : 표준 입력 스트림
PrintStream out : 표준 출력 스트림
PrintStream err : 표준 에러출력 스트림
Class
- 클래스와 관련된 여러정보
forName() : 파라메터로 넘어온 클래스명의 객체를 찾아 Class 클래스를 반환한다
genName() : 객체의 클래스명을 반환한다.
newInstance() : 객체의 클래스 인스턴스를 생성하여 반환한다.
'DEV > JAVA' 카테고리의 다른 글
[Java] primitive 타입의 데이터를 자릿수 쪼개서 배열에 담기 (0) | 2019.05.22 |
---|---|
[Java] 객체직렬화(serializable) 사용이유와 개념 (0) | 2019.05.16 |
[Java] 메모리 구조 (0) | 2019.05.06 |
java.util 패키지 (0) | 2019.05.03 |
Exception 종류 (0) | 2019.04.11 |