본문 바로가기

IT공부/JAVA

기본 API

목차
 자바 API 도큐먼트
 java.lang 패키지
 Object 클래스
 System 클래스
 Class 클래스
 String, StringBuffer, StringTokenizer 클래스
 Wrapper 클래스
 java.util 패키지
 Date, Calendar 클래스
 Format 클래스

 

자바 API 도큐먼트
- 자바 API (Application Programming Interface)
- API는 라이브러리(library) 라고 부르며, 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말한다.
- ${JAVA_HOME}\jre\lib\rt.jar 라는 압축 파일(jar은 자바 아카이브의 준말. 즉, 압축파일)

 

 

- java.lang 패키지는 자바 프로그램의 기본적인 클래스들의 집합이다.
- java.lang 패키지의 클래스들은 import 없이 사용할 수 있다.

 

 

java.util 패키지
- java.util 패키지는 자바 프로그램의 Utility 클래스들의 집합이다.
- java.util 패키지는 컬렉션 클래스들이 주로 존재

 

 

 Object 클래스
- 자바의 모든 클래스는 직접적이든 간접적이든 Object 클래스를 상속받는다.
- 모든 클래스는 묵시적으로 자동 상속된다. (extends Object 하지 않아도 자동 상속)
- 모든 클래스의 최상위 클래스이기 때문에 참조값에 연결된 메모리와 직접적인 관련이 있는 메서드들로 이루어져 있다.

 

 System 클래스
- System 클래스를 이용하면 운영체제의 일부 기능을 이용할 수 있다.
- 프로그램 종료, 키보드 입력, 모니터 출력, 메모리 정리, 현재 시간 읽기, 시스템 프로퍼티 읽기, 환경 변수 읽기 등이 가능하다.
- 모든 필드와 메서드는 정적(static) 필드와 메서드로 구성되어 있다.

 

 Class 클래스
- 클래스의 등록정보 클래스
- 바이트 코드의 등록정보 클래스

 

 리플렉션(Reflection)이란
- 객체를 통해 클래스의 정보를 분석해 내는 프로그램 기법
- 클래스의 생성자, 필드, 메서드 정보를 알아낼 수 있다.
- getMethods() : 클래스 내에 포함된 메서드 알아내기
- getFields() : 클래스 내에 포함된 필드 알아내기
- getConstructors() : 클래스 내에 존재하는 생성자 알아내기
- getInterfaces() : 클래스 내에 존재하는 인터페이스 알아내기
- getSuperclass() : 클래스 내에 존재하는 상위클래스 알아내기

- 전부 복수형으로 쓰고있음(여러개로 가져오기위해.)

 

 Class 클래스를 얻는 방법
- class Data {}
- Class c = Data.class or obj.getClass()

 

 Class c로부터 클래스의 이름 얻기
- String name = c.getName();

 

 등록정보(Class) 클래스로 할 수 있는 일
- 가상머신이 Data.class를 로딩한 뒤에 할 수 있는 대부분의 작업을 프로그래머가 직접 할 수 있다.
- Data.class를 로딩한 뒤에 가상머신이 하는 일을 Data 클래스의 등록정보 클래스를 이용해서 할 수있다.

 

 Class 클래스를 이용한 객체 생성
- Class c = Data.class;
- Object obj = c.newInstance();

 

 

String 클래스
- 자바의 문자열은 String클래스의 인스턴스로 관리된다.
- 문자열 리터럴은 String 객체로 자동 생성되지만, 다양한 생성자를 통해서 직접 생성도 가능하다.

- trim은 공백을 제거해주는데 이를 화이트스페이스라 부른다 이때 탭도 포함된다.

 

StringBuffer & StringBuilder 클래스
 String 클래스의 인스턴스는 그 값을 변경할 수 없는 불변객체(immutable object)
 StringBuffer 클래스는 버퍼(buffer) 공간을 가지고 문자열을 변경, 조작할 수 있는 기능을 제공한다.
 StringBuilder
- StringBuffer와 동일한 기능을 제공하며, 단지 StringBuilder는 동기화를 제공하지 않는다.
- Java 1.5 추가

Stirng은 변하지 않은값일때 사용.

StringBuffer는 조작해야할때 사용.

 

 

StringTokenizer 클래스
 구분자를 이용해 문자열로부터 토큰을 추출하는 기능을 제공
- 토큰(token) : 문자열을 구성하는 단위
 StirngTokenizer st = new StringTokenizer(“문자열”, “구분자”);

 

 

Wrapper 클래스
- Wrapper 클래스에 대하여
- Wrapper 클래스의 기본적인 사용 방법
- Wrapper 클래스의 정적 메소드와 상수
- 자동 Boxing과 자동 Unboxing( java 1.5이후지원)

 

 

날짜와 시간에 관련된 클래스들
 Date 클래스
- Date 클래스는 날짜를 표현하는 클래스.
- 날짜 정보를 주고 받을 때 주로 사용.

 

 Calendar와 GregorianCalendar(태양력) 클래스
- 현재 시스템의 날짜와 시간을 관리하는 클래스
- java.util 패키지
- Calendar : 추상클래스
- GregorianCalendar : Calendar 클래스의 서브 클래스

 

 

 Calendar 클래스의 주요 메서드

-get이 가장 많이 쓰이는데 아래 표의 주요 상수들이 필드값으로 들어간다.

 

 Calendar 클래스의 주요 상수들

-month를 특히 주의할것. 0부터 11까지이기때문에 자주 헷갈림.

 

Format 클래스
- 날짜 형식 클래스(SimpleDateFormat)
- 날짜와 시간을 포맷하는 기능을 가진 클래스
- SimpleDateFormat sdf = new SimpleDateFormat(“yyyy년 MM월 dd일”);
- String result = sdf.format(new Date());

 

 

 

Format 클래스
- 숫자 형식 클래스(DecimalFormat)
- DecimalFormat df = new DecimalFormat(“#,###.0”);
- String result = df.format(1234567.89);

- 양수는 생략이지만 넣어주고 싶을때는 +#.0으로 넣어줄수도 있다.

 

- JavaScript : Java : SQL
- 웹이 아닐경우 JavaScript가 아니고 앱이기 때문에 Java에서 사용자에게 보여주기 위한 포매팅을 해줘야함. 그럴때 아래 포맷들이 사용된다.

 

 문자열 형식 클래스(MessageFormat)
- 문자열에 데이터가 들어갈 자리를 표시해 두고, 프로그램이 실행하면서 동적으로 데이터를 삽입해 문자열을 완성시킬 수 있다.

 

 

 

정규 표현식과 Pattern 클래스
- 문자열을 정규 표현식으로 검증하는 기능.
- java.util.regex.Pattern
- Pattern.matches(“정규식”, “검증할 문자열”);

 

'IT공부 > JAVA' 카테고리의 다른 글

중첩 클래스  (0) 2019.05.20
컬렉션 프레임워크(사용빈도 최상)  (0) 2019.05.16
예외 처리  (0) 2019.05.10
패키지와 접근제어  (0) 2019.05.09
상속  (0) 2019.05.08