자바에서 지원하는 패키지

라이브러리란 여러 가지 기능을 제공하는 파일이다. 자바도 라이브러리를 제공하는데 자바에서는 그걸 API라 부른다

자바API는 자바 클래스 파일(*.class)로 구성된다 

Java SE에서 제공하는 API는 자바 프로그램을 개발하기 위해 설치한 JDK에 포함되어 있다

API는 jmods 파일 형태(모듈파일)로 저장되어있다. 

모듈은 관련있는 여러 개의 자바 패키지(API)를 하나로 묶어 놓은 단위이다

 

JAVA의 API문서

- 자바에서 제공하는 API를 편리하게 사용할 수 있도록 API문서를 제공

- HTML 페이지로 작성되어 있어 웹 브라루저로 바로 볼 수 있음

 

자바에서 지원하는 패키지

패키지 기능
java.io 외부 데이터 입출력을 처리하는 기능
java.lang 프로그램 개발시 기본적으로 필요한 기능
java.net 네트워크를 위한 클래스와 인터페이스
java.security 보안 프레임워크를 위한 클래스와 인터페이스
java.sql 데이터베이스에 저장된 데이터를 접근하기 위한 기능
java.util 날짜, 시간, 컬렉션(Collection) 처리에 관한 기능
java.awt 그래픽과 이미지 관련 기능
java.swing UI 구현 기능

 

<  java.lang 패키지  >

- 자바 프로그램의 기본적인 클래스를 담은 패키지

- 포함된 클래스와 인터페이스는 import 없이 사용

Class 설명
Object  모든 클래스의 최상위 클래스
Math  각종 수학 메서드(최대값, 최소값, 난수)들을 포함하는 클래스
Wrapper  ⦁  기본 자료형(기초형)에 대응된 클래스
⦁ 기본 타입의 데이터를 갖는 객체를 만들 떄 사용
⦁ 문자열을 기본 타입으로 변환할 때 사용
String  문자열을 저장하고 여러가지 정보를 얻을 때의 클래스
System ⦁  표준 입출력 클래스
⦁ 표준입력 장치(키보드)로부터 데이터를 입력받을 때 사용
⦁ 표준 출력 장치(모니터)로 출력하기 위해서 사용
Class JVM에 로드된 클래스에 대한 정보를 얻기 위한 클래스

 

<  java.util 패키지  >

Class 설명
Arrays 배열을 조작(비교,복사,정령,찾기) 할 때 사용
Calender 운영체제의 날짜와 시간을 얻을 때 사용
Data 날짜와 시간을 얻을 때 사용
Objects 객체비교, 널(null) 여부 등을 조사할 때 사용
StringTokenizer 특정 문자로 구분된 문자열을 나누고자 할 때 사용
Random 난수를 얻을 때 사용

 

Object 클래스  >

 모든 클래스의 최상위 클래스

 모든 클래스는 명시적으로 "extends"예약어를 지정하지 않아도 자동으로 java.lang.Object 클래스로 부터 상속받도록 컴파일 된다

 모든 클래스는 묵시적으로 Object 클래스의 필드와 메서드를 모두 상속받게 된다

Object class System class
String class
Number class
ect ...

 

✔ 패키지 생성

Object class안에 정의되어 있는 메소드
protected Object clone() 객체가 자신의 복사본을 생성하여 반환한다
public boolean equals(Object obj) obj가 이 객체와 같은지를 나타낸다
protected void finalize() 가비지 콜렉터에 의하여 호출된다
public final Class getClass() 객체의 실행 클래스를 반환한다
public int hashCode() 객체에 대한 해쉬 코드를 반환한다
public String toString() 객체의 문자열 표현을 반환한다

 

✔ 객체 비교 equals (메서드)

public boolean equals (Object obj) {return(this==obj);}
⦁ 기본적으로 연산자와 동일한 결과(==) 리턴 
⦁ 논리적 동등(같은 객체이건 다른객체이건 상관없이 객체 저장 데이터가 동일)을 위해 오버라이딩 필요 
⦁ Object의 equals() 메서드: 재정의하여 논리적 동등 비교할 때 이용

 

 객체 해시코드 hashCode()

   객체 해시코드란?
- 객체를 식별한 하나의 정수값
- 객체의 메모리 주소값을 이용해 해시코드가 만들어지며 리턴
- 개별객체는 해시코드가 모두 다름
객체는 저마다 고유한 값이 있다
즉 메모리에 생성된 인스턴스의 주소값을 가지고 일련번호를(해시코드) 만들어 반환하는 메서드가 hashCode()이다
해시코든은 인스턴스가 메모리에 생성되는 주소값을 기초로 만들어지는 만큼 서로 다른 인스턴스는 해시코드값이 같을  수 가 없다

 

 객체 문자 정보 toString()

객체가 가진 값을 문자열로 제공한다

① getClass() 현재 클래스에 대한 정보를 가진 Class객체를 반환한다
② getName() 현재 클래스의 이름은 반환한다
③ hashCode() 현재 인스턴스의 해시 코드값을 반환한다
④ Integer.toHexString() 인자로 전달된 int값을 16진수 문자열로 변환하여 반환한다

일반적으로 의미 있는 문자정보가 나오도록 메서드 오버라이딩 해야함

Data 클래스 - 현재 시스템의 날짜와 시간 정보 리턴

String 클래스 - 저장하고 있는 문자열 리턴 리턴 

System.out.println(Object obj) 메서드

- Object의 toString()의 리턴값 출력


▶ String 클래스

자바는 기초 자료형으로 문자열을 지원하지 않는다

자바에서는 문자열을 클래스형으로 다룬다

실제로는 내부에서 char형의 배열 객체를 다룬다

String 클래스에는 문자열을 저장하고자 문자형 배열 변수(char[]) value를 인스턴스 변수로 정의해 놓고 있다

객체를 생성할 때 생성자의 매개변수로 입력 받은 문자열을 이 인스턴스 필드에 문자형 배열로 저장된다

 

문자열 객체 생성

String 클래스의 생성자를 사용하거나 문자열 리터럴을 지정하여 생성한다

 

1) String 클래스의 생성자를 사용해서 문자열 객체 생성

2) 문자열 리터럴을 사용해서 문자열 객체 생성

 

 String class

 

 String calss - 생성자

생성자 설명
String(String str) 문자열을 갖는 String객체를 생성
String(char[ ] value) 문자형 배열을 갖는 String객체를 생성
String(byte[ ] value) 바이트 배열을 갖는 String객체 생성

 String calss - 사용 빈도 높은 메서드

리턴타입 메서드명 (매개변수) 설명
char charAt(int index) 지정된 인덱스위치에 있는 문자를 리턴한다
boolean equals(Object anObj) 전달받은 문자열(anObj)과 String객체의 문자열이 같은지 비교해 결과를 리턴한다
byte[] getBytes() 문자열을 바이트 배열(byte[])로 리턴한다
byte[] getBytes(Charset charset) 주어진 문자셋으로 인코딩한 byte[]로 리턴한다
int indexOf(String str) 문자열내에서 주어진 문자열의 위치를 리턴한다
(존재하지 않으면 -1리턴)
int length() 총 문자의 수를 리턴한다
 
String replace(char ilkdChar, char newChar) 문자열내에서 oldChar를 newChar로 변환하여 리턴한다
String substring(int beginIndex, int endIndex) 시작 인덱스부터 마지막 인덱스 전까지 문자열을 리턴한다
String toLowerCase() 소문자로 변환한 새로운 문자열을 리턴한다
String toUpperCase() 대문자로 변환한 새로운 문자열을 리턴한다
String trim() 앞뒤 공백을 제거한 새로운 문자열을 리턴한다
String valueOf(int i)
valueOf(double d)
기초 자료형의 값을 문자열로 리턴한다
String concat(String srt) 전달받은 문자열(str)을 해당 메서드를 호출한 String객체의 문자열 뒤에 합쳐 새로운 문자열을 생성해서 반환한다
String contains(String srt) 전달받은 문자열(str)이 String객체의 문자열에 포함되었는지를 검사한다
String intern() 문자열을 상수  풀에 등록하고 이미 같은 문자열이 존재하면 해당 문자열의 참조값을 반환한다

 

'Language > Java' 카테고리의 다른 글

스레드  (0) 2022.03.10
입출력 (Stream)  (0) 2022.03.03
컬렉션 (Collection)  (0) 2022.02.23
제네릭 Generic  (0) 2022.02.23
예외 (Exception Event)  (0) 2022.02.22