본문 바로가기

프로그램 이론/JAVA

[JAVA]lang패키지

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클래스

    - 숫자를 멤버변수로 갖는 클래스의 조상(추상 클래스)