[JAVA] 기본 API 클래스

임유빈·2022년 7월 20일
0

JAVA

목록 보기
15/17
post-thumbnail

1. 자바 API

(1) API 개념

자바에서 기본적으로 제공하는 라이브러리(library)로 프로그램 개발에 자주 사용되는 클래스 및 인터페이스 모음을 말한다.

(2) API 도큐먼트 개념

쉽게 API를 찾아 이용할 수 있도록 문서화 한 것을 말한다.

2.java.lang과 java.utill 패키지

(1) java.lang 패키지


이 패키지는 자바의 기본적인 클래스를 담고 있는 패키지다. 그래서 이 패키지 안의 클래스와 인터페이스는 import없이 사용할 수 있다. 지금까지 사용한 String과 System 클래스도 이 패키지에 포함되어있기 때문에 import하지 않고 사용할 수 있었다.

(2) java.utill 패키지

이 패키지는 자바 프로그램 개발에 조미료 같은 역할을 하는 클래스다. 대부분이 컬렉션 클래스들이 차지하기 때문에 컬렉션 클래스는 제외하였다. (컬렉션 클래스는 나중에)

3. Object 클래스

자바의 최상위 부모 클래스로 작성자가 클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않으면 암시적으로 java.lang.Object 클래스를 상속하게 된다. 따라서 자바의 모든 클래스는 Object 클래스의 자식이거나 자손 클래스이다.

4. 객체 비교(equals() 메소드)

기본적으로 == 연산자와 동일한 결과를 리턴(주소 비교)한다.

  • 논리적 동등 위해 오버라이딩 필요

    • 논리적 동등 : 같은 객체이건 다른 객체이건 상관없이 객체를 저장하고 데이터가 동일하다.

    • Object의 equals() 메소드 : 재정의하여 논리적 동등 비교할 때 이용

      5. hashCode

      객체 해시코드란 객체를 식별하는 하나의 정수값을 의미합니다.
      Object의 hashCode() 메서드는 객체의 메모리 번지를 이용해서 해시코드를 만들어 리턴하기 때문에 객체 마다 다른 값들을 가지고 있습니다.
      두 객체가 같은 객체인지 동일성을 비교합니다.
      어떠한 객체와 다른 객체의 equals 결과가 true라면 그 둘의 hashCode 값는 반드시 같아야 하지만 반대로 hashCode값이 같다고 해서 반드시 equals 결과가 true일 필요는 없습니다.
      출처: https://kdg-is.tistory.com/226 [KDG의 개발냄새:티스토리]

5. Reflection

구체적인 클래스 타입을 알지 못해도 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API

런타임에 지금 실행되고 있는 클래스를 가져와서 실행해야하는 경우

동적으로 객체를 생성하고 메서드를 호출하는 방법

자바의 리플렉션은 클래스, 인터페이스, 메소드들을 찾을 수 있고, 객체를 생성하거나 변수를 변경하거나 메소드를 호출할 수 있다.

0개의 댓글