1. Object클래스
1.1. Object클래스의 메서드
- 모든 클래스의 최고 조상. 오직 11개의 메서드만을 가지고 있다.
- notify(), wait() 등은 쓰레드와 관련된 메서드이다.
- equals(), hachCode(), toString()은 적절히 오버라이딩해야 한다.
1.2. equals(Object obj)
- 객체자신과 주어진 객체를 비교한다. 같으면 true, 다르면 false
- Object클래스에 정의된 equals()는 참조변수 값을 비교한다.
- equals()를 오버라이딩해서 인스턴스변스의 값을 비교하도록 바꾼다.
1.3. hashCode()
- 갹체의 해시코드(int타입의 정수)를 반환하는 메서드 다량의 데이터를 저장&검색하는 해싱기법에 사용
- Object클래스의 hashCode()는 객체의 내부주소를 반환한다.
- equals()를 오버라이딩하면 hashCode()도 같이 오버라이딩 해야한다.
1.4. toString()
- 갹체의 정보를 문자열로 제공할 목적으로 정의된 메서드
1.5. clone()
- 객체 자신을 복제해서 새로운 객체를 생성하는 메서드
- Cloneable인터페이스를 구현한 클래스의 인스턴스만 복제할 수 있다.
- Object클래스에 정의된 clone()은 인스턴스변수의 값을 복제한다.
- 인스턴스변수가 참조형일 때, 참조하는 객체도 복제되게 오버라이딩해야함
1.6. getClass()
- 자신이 속한 클래스의 Class객체를 반환하는 메서드
- Class객체는 클래스의 모든 정보를 담고 있으며 클래스당 단 1개만 존재 클래스파일이 메모리에 로드될때 생성
- Class객체를 얻어오는 여러가지 방법
2. String클래스
2.1. String클래스의 특징
- 문자형 배열과 그에 관련된 메서드들이 정의되어 있다.
- String인스턴스의 내용은 바꿀 수 없다.
- String str = "abc"; 와 String str = new String("abc");의 비교
2.2. 빈 문자열("", empty string)
- 내용이 없는 문자열 크기가 0인 char형 배열을 저장하는 문자열
- 크기가 0인 배열을 생성하는 것은 어느 타입이나 가능
- String str="";은 가능해도 char c = '';은 불가능
- String은 참조형의 기본값인 null 보다 빈 문자열로 초기화한다.
2.3. String클래스의 생성자와 메서드
2.4. 문자열과 기본형간의 변환
- 기본형 값을 문자열로 바꾸는 두 가지 방법
- 문자열을 기본형 값으로 변환하는 방법
3. StringBuffer클래스
3.1. StringBuffer클래스의 특징
- String처럼 문자형 배열을 내부적으로 가지고 있다.
- 그러나 String클래스와 달리 내용을 변경할 수 있다.
- 인스턴스를 생성할 때 버퍼의 크기를 충분히 지정해주는 것이 좋다.
- 버퍼가 작으면 성능 저하 : 작업 중에 더 큰 배열의 생성이 필요
- String클래스와 달리 equals()를 오버라이딩하지 않는다.
3.2. StringBuffer클래스의 생성자와 메서드
4. Math & wrapper클래스
4.1. Math클래스
- 수학계산에 유용한 메서드로 구성되어 있다.(모두 static메서드)
4.2. wrapper클래스
- 기본형을 클래스로 정의한 것. 기본형 값도 객체로 다뤄져야 할 때가 있다.
- 내부적으로 기본형 변수를 가지고 있다.
- 값을 비교하도록 equals()가 오버라이딩되어 있다.
4.3. Number클래스
- 숫자를 멤버변수로 갖는 클래스의 조상(추상 클래스)
'프로그램 이론 > JAVA' 카테고리의 다른 글
[JAVA]컬렉션 프레임웍(collections framework) (0) | 2018.05.28 |
---|---|
[JAVA]날짜와 시간 & 형식화 (0) | 2018.05.25 |
[JAVA]예외처리 (0) | 2018.05.24 |
[JAVA]객체지향언어의 개넘 - 2 (0) | 2018.05.23 |
[JAVA]객체지향언어의 개념 - 1 (0) | 2018.05.20 |