• 자바 라이브러리

    2021. 6. 7.

    by. 와트

    ▶ Object 클래스

    모든 자바 클래스의 최상위 클래스.  즉, 모든 클래스는 Object 클래스로부터 상속 받음.

    - toString() 메소드: 객체 정보를 문자열로 바꾸어주는 메소드. 

    Object 클래스의 toString 메소드 원형은

    getClass().getName() + '@' + Integer.toHexString(hashcode())

    즉 '클래스 이름@해시 코드 값'이다.

    단, String과 Integer 클래스로 인스턴스를 생성하여 출력할 경우, 문자열과 정수 값을 출력한다. 이 클래스들의 경우 toString 메소드를 미리 재정의해 두었기 때문. JDK에서 제공하는 클래스 중 미리 재정의된 클래스는 출력시 재정의된 메소드를 호출한다는 것을 알아두기.

     

    - equals() 메소드: 두 인스턴스의 주소 값을 비교하여 boolean 값을 반환해 주는 메소드.

    여기에 더해 논리적 동일성(논리적으로 두 인스턴스가 같음)을 구현할 때에도 이 메소드를 재정의하여 사용.

     

    - hashCode() 메소드: 정보를 어디에 저장할지, 어디서 가져올지 해시 함수를 통해 구현하는 메소드

    해시 함수의 경우 객체의 특정 정보를 매개변수 값으로 넣으면 그 객체가 저장되어야 할 위치나 저장된 해시 테이블 주소를 반환. 객체 두 개가 논리적으로 같을 경우, 같은 해시 코드 값을 반환하도록 재정의 필요.

     

    - clone() 메소드: 객체 원본을 유지해 놓고 복사본을 사용한다거나, 기본 틀의 복사본을 사용해 동일한 인스턴스를 만들어 복잡한 생성 과정을 간단히 하려는 경우에 구현하는 메소드

    객체를 복제해도 된다는 의미로 Cloneable 인터페이스를 함께 선언해야 한다.

     

    ▶ String 클래스

    String 사용 시 문자열을 생성자의 매개변수로 하여 생성하는 방식과 이미 생성된 문자열 상수를 가리키는 방식이 있는데, new 예약어를 사용하여 객체를 생성하면 해당 문자열을 위한 메모리가 할당되고 새로운 객체가 생성되는 반면 후자는 기존에 만들어져 있던 문자열 상수의 메모리 주소를 가리키게 된다는 것에서 차이가 있다.

    - StringBuffer&StringBuilder: 내부에 변경 가능한 char[]를 변수로 가지고 있어 문자열을 연결하거나 변경할 때 기존에 사용하던 char[]배열을 확장하는 방식으로 추가 메모리를 사용하지 않는 클래스

    Buffer의 경우 문자열이 안전하게 변경되도록 보장하지만 Builder는 보장하지 않음. 

     

    ▶ Wrapper 클래스

    기본 자료형처럼 사용할 수 있는 클래스.

    기본형 boolean byte char short int long float double
    Wrapper Boolean Byte Character Short Integer Long Float Double

    - 오토박싱: 기본형을 객체형으로 바꾸는 것

    - 언박싱: 객체형을 기본형으로 꺼내는 것

     

    ▶ Class 클래스

    컴파일된 class 파일에 저장된 클래스나 인터페이스 정보를 가져오는데 사용. 모르는 클래스의 정보를 사용할 때 활용.

     

    ▶ 제네릭

    어떤 값이 하나의 참조 자료형이 아닌 여러 참조 자료형을 사용할 수 있도록 프로그래밍하는 것.

     

    ▶ 컬렉션 프레임워크

    자바에서 필요한 자료 구조를 미리 구현하여 java.util 패키지에서 제공하는 것.

    - Collection 인터페이스: 하나의 자료를 모아서 관리하는 데 필요한 기능 제공

    List 인터페이스 순서가 있는 자료 관리, 중복 허용. 이 인터페이스를 구현한 클래스는 ArrayList, Vector, LinkedList, Stack, Queue 등이 있음.
    Set 인터페이스 순서가 정해져 있지 않음. 중복을 허용하지 않음. 이 인터페이스를 구현한 클래스는 HashSet, TressSet 등이 있음.

    - Map 인터페이스: 쌍으로 된 자료들을 관리하는 데 유용한 기능 제공

     

    ▶ List 인터페이스

    객체를 순서에 따라 저장하고 유지하는 데 필요한 메소드가 선언되어 있음

    - ArrayList 클래스: 객체 배열을 구현한 클래스.

    - LinkedList 클래스: 배열의 번거로움을 개선한 자료 구조.

    '혼자 있는 방 > Java' 카테고리의 다른 글

    Homework(2)  (0) 2021.06.18
    Homework(1)  (0) 2021.06.17
    인터페이스(interface)  (0) 2021.06.03
    추상 클래스(abstract class)  (0) 2021.06.02
    상속과 다형성(inheritance&polymorphism)  (0) 2021.06.02

    댓글

Designed by Nana