일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- sklearn
- 중첩 인터페이스
- fillna
- dropna
- 태국
- 열거 타입
- react
- try-catch
- 중첩 클래스
- inteliJ
- gdgm
- order by
- 집계함수
- tail
- visual studio code
- React Native
- extend
- Package
- Linked List
- 방콕
- sqld
- 꽉뚝짝 시장
- node.js
- 패키지
- append
- iconsiam
- ISNA
- nodemon
- tunder client
- preprocessing
- Today
- Total
ABCD
패키지와 API 문서 본문
🐢 자바 라이브러리: 개발자가 편리하게 사용할 수 있도록 패키지 혹은 모듈을 묶은 파일
(JDK: Java Development Kit --> 개발을 편리하게 해줄 수 있도록 다양한 것을 미리 제공해준다.)
🐢 패키지: 상호 관련있는 클래스와 인터페이스를 한곳에 묶어 놓은 것
--> 패키지 = 클래스 + 인터페이스
🐢 모듈: 밀접한 관계가 있는 패키지와 리소스를 묶어 놓은 것
(JDK를 설치하면 jmods 폴더에 jmod 파일을 제공하는데 jmod 파일이 모듈 파일이다.)
--> 모듈 = 패키지 + 리소스 (클래스 + 인터페이스 + 리소스)
🐢 자바의 주요 패키지 및 모듈
패키지 | 설명 |
java.awt | 그래픽을 처리하는 API |
java.io | 입출력을 스트림하는 API |
java.lang | 자바 프로그램의 필수 API |
java.math | 수학과 관련된 API |
java.net | 네트워크를 처리하는 API |
java.text | 날짜, 시간, 문자열 등 지역화를 처리하는 API |
java.time | JDK8이 지원하는 날짜 및 시간을 처리하는 API |
java.util | 날짜, 리스트, 벡터 등 유틸리티 API |
javax.swing | 스윙 컴포넌트 API |
🐢 java.lang 패키지
- 필수 패키지
- 자바 프로그램에서 가장 기본이 되는 클래스와 인터페이스를 보관한다.
- import문 없이 사용한다.
* java.lang 패키지에 포함된 주요 클래스
클래스 | 설명 |
Class | 실행 중에 클래스 정보를 제공 |
Math | 각종 수학 함수를 제공 |
Object | 최상위 클래스로 기본적인 메서드를 제공 |
String, StringBuffer, StringBuilder | 문자열을 처리하는 메서드를 제공 |
System | 시스템 정보나 입출력을 처리하는 메서드를 제공 |
Thread | 스레드를 처리하는 메서드를 제공 |
포장 클래스 | 기초 타입 데이터를 객체로 처리하는 메서드를 제공 |
- Object 클래스
- 모든 클래스의 조상
- Object 클래스가 제공하는 주요 메서드
메서드 | 설명 |
public String toString() | 객체의 문자 정보를 반환 |
public boolean equals(Object o) | 현재 객체와 동일한지 여부를 반환 |
public int hashCode() | 객체의 해시코드를 반환 |
protected Object clone() | 객체의 사본을 생성 |
protected void finalize() | 가비지 컬렉터가 객체를 수거할 때 호출 |
public final Class<?> getClass() | 객체 정보를 반환 |
- 많은 클래스들이 Object 클래스가 제공하는 toString()과 equals() 메서드를 오버라이딩해서 사용 --> 기본 toString은 은 객체 클래스명과 해시코드 제공, equals는 객체 참조 비교
- Class 클래스
- 실행 중인 자바 프로그램 내부에 포함된 클래스와 인터페이스 정보를 제공하려고 getName(), getSimpleName() 등 다양한 메서드를 제공
- Class 클래스는 생성자가 없고 어떤 객체라도 생성하면 JVM이 대응하는 Class 객체를 자동으로 생성
- 실행 도중 객체 정보를 얻으려면 getClass()의 결과인 Class 객체를 사용
getName(): 패키지 이름 포함 전체 반환
getSimpleName(): 패키지 이름 제외하고 반환
getTypeName(): 클래스 타입 이름을 문자열로 반환
- Math 클래스
- 모든 메서드가 static이기 때문에 객체를 생성하지 않고 메서드 호출
- Math 클래스가 제공하는 주요 double 타입의 메서드
메서드 | 반환 값 |
static double abs(double a) | 실수 a의 절댓값 |
static double cos(double a) | 실수 a의 cosine 값 |
static double exp(double a) | e^a의 값 |
static double log(double a) | 실수 a에 대한 자연로그 값 |
static double log10(double a) | 실수 a에 대한 10의 로그 값 |
static double max(double a, double b) | 실수 a와 b 중 큰 값 |
static double min(double a, double b) | 실수 a와 b 중 작은 값 |
static double pow(double a, double b) | a^b의 값 |
static double random() | 0.0 이상 1.0 미만의 난수 |
static double sin(double a) | 실수 a의 sine 값 |
static double sqrt(double a) | 실수 a의 제곱근 값 |
static double tan(double a) | 실수 a의 tangent 값 |
- String 클래스
- 상수 문자열이기 때문에 String 객체에 포함된 문자열을 수정 불가
- String 객체의 문자열을 수정하는 것은 내부적으로는 수정된 문자열을 포함하는 새로운 String 객체를 생성
- 따라서 문자열 내용을 자주 변경한다면 String 클래스를 사용하는 것은 좋지 않음
- System 클래스
- 표준 입출력을 비롯한 실행 시스템과 관련된 필드와 메서드를 static으로 제공
- System.out.println()도 System 클래스가 제공하는 메서드
- System 클래스의 세 가지 필드
필드 | 설명 |
static InputStream in | 표준 입력 스트림 |
static PrintStream out | 표준 출력 스트림 |
static PrintStream err | 표준 오류 출력 스트림 |
- System 클래스가 제공하는 주요 메서드
메서드 | 설명 |
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) | 주어진 위치에서 주어진 길이만큼 배열 src를 배열 dest로 복사 |
static long currentTimeMillis() | 현재 시각을 밀리초 단위로 반환 |
static void exit() | 현재 실행 중인 JVM을 종료 |
static void gc() | 가비지 컬렉터를 실행 |
static String getenv(String key) | 주어진 key 값에 해당하는 시스템 특성을 반환 |
static String getProperty(String key) | 주어진 key 값에 해당하는 시스템 특성을 반환 |
static long nanoTime() | 현재 시각을 나노초 단위로 반환 |
🐢 java.util 패키지
- 날짜, 시간, 리스트, 벡터, 해시 테이블, 컬렉션 등 다양한 유틸리티 클래스와 인터페이스를 제공
- java.util 패키지가 제공하는 주요 클래스
클래스 | 설명 |
Arrays | 배열을 비교, 복사, 정렬 등 조작할 때 사용 |
Calendar | 날짜와 시간 정보가 필요할 때 사용 |
Date | 밀리초 단위의 현재 시각이 필요할 때 사용 |
StringTokenizer | 특정 문자로 구분된 문자열을 뽑아낼 때 사용 |
Random | 난수가 필요할 때 사용 |
- Array 클래스
- Arrays 클래스가 제공하는 주요 정적 메서드
메서드 | 설명 |
List asList(배열) | 배열을 리스트로 변환 |
int binarySearch(배열, 키) | 배열에서 키 값이 있는 인덱스를 반환 |
배열 copyOf(배열, 길이) | 원본 배열을 길이만큼 복사 |
배열 copyOfRange(배열, 시작, 끝) | 원본 배열을 지정한 영역만큼 복사 |
boolean equals(배열, 배열) | 두 배열의 동일 여부를 비교 |
void fill(배열, 값) | 배열을 지정된 값으로 저장 |
void fill(배열, 시작, 끝, 값) | 배열의 지정된 영역에 지정된 값을 저장 |
void sort(배열) | 배열을 오름차순으로 정렬 |
- Date 클래스
- Date 클래스는 현재 날짜와 시각 정보를 제공
- 국제화에 맞지 않아 대부분의 메서드는 현재 폐기 중
- 주로 하위 호환성이나 간단한 날짜 정보를 원할 때만 사용
- Calendar 클래스
- 지역이나 문화에 따라 달력을 표시하는 방식이 다르기 때문에 추상 클래스로 되어 있음
- 표준 달력을 사용한다면 다음과 같이 객체 생성
Calendar now = Calendar.getInstance();
- Calendar 클래스가 제공하는 정수 타입의 상수
필드 이름 | 의미 |
AM, AM_PM, PM | 오전 및 오후 |
DATE | 날짜 |
JANUARY, FEBRUARY... | 1월, 2월 등 |
SUNDAY, MONDAY... | 일요일, 월요일 등 |
MINUTE | 분 |
HOUR | 시간 (0~11) |
HOUR_OF_DAY | 시간 (0~23) |
MONTH | 월 (0~11) |
DAY_OF_MONTH | 한 달 내에서의 날짜 |
WEEK_OF_YEAR | 일 년 내에서의 몇 주차 |
YEAR | 연도 |
- MONTH는 0~11 사이의 정수
- Calendar 클래스가 제공하는 주요 메서드
메서드 | 설명 |
boolean after(Object when) | 주어진 시간보다 뒤쪽이면 true를 반환 |
boolean before(Object when) | 주어진 시간보다 앞쪽이면 true를 반환 |
void clear(int field) | 지정된 필드를 미정의 상태로 변경 |
int compareTo(Calendar anotherCalendar) | 2개의 Calendar 객체를 비교 |
int get(int fields) | 주어진 필드 값을 반환 |
int getFirstDayOfWeek() | 첫 날이 무슨 요일인지 반환 |
Date getTime() | Calendar 객체를 Date 객체로 변환 |
void set(int field, int value) | 주어진 필드를 주어진 값으로 변경 |
void set(int year, int month, int date) | 연, 월, 일 값을 변경 |
void setTime(Date date) | Date 객체로 Calendar 객체를 설정 |
- StringTokenizer 클래스
- 문자열을 토큰으로 분리하는 데 사용
- 토큰은 공백이나 줄 바꿈 등 구분자를 사용해 문자열을 분리
- StringTokenizer 클래스의 주요 생성자
생성자 | 설명 |
StringTokenizer(String s) | 주어진 문자열을 기본 구분자로 파싱한 StringTokenizer 객체를 생성 |
StringTokenizer(String s, String delim) | 주어진 문자열을 delim 구분자로 파싱한 StringTokenizer 객체를 생성 |
- 기본 구분자는 공백, 탭, 줄 바꿈, 복귀, 용지 먹임 문자
- Random 클래스
생성자 | 설명 |
Random() | Random 객체를 생성 |
Random(long seed) | 주어진 시드를 사용하는 Random 객체를 생성 |
메서드 | 설명 |
boolean nextBoolean() | 논리 타입 난수를 발생 |
double nextDouble() | 0.0 이상 1.0 미만의 double 타입 난수를 발생 |
float nextFloat() | 0.0 이상 1.0 미만의 float 타입 난수를 발생 |
double nextGaussian() | 평균, 표준편차가 0.0 및 1.0 인 정규분포 난수를 발생 |
int nextInt() | int 타입의 난수를 발생 |
int nextInt(int n) | 0~(n - 1) 사이의 int 타입 난수를 발생 |
long nextLong() | long 타입의 난수를 발생 |
void setSeed(long seed) | 시드 값을 설정 |
🐢 java.text 패키지
- 현지화가 필요한 데이터의 효율적 처리를 위한 패키지
- 특히 패키지의 Fromat 클래스는 지역에 민감한 데이터를 현장에 맞게 문자열로 표현하고 포맷할 수 있도록 지원
- SimpleDateFormat 클래스
- 날짜 정보를 현지화하는 클래스로 날짜를 텍스트로 포맷하거나 텍스트를 날짜로 파싱
- SimpleDateFormat 클래스에서 사용할 수 있는 패턴 기호
패턴 기호 | 설명 | 패턴 기호 | 설명 |
y | 연 | h | 시 (1~12) |
M | 월 | H | 시 (0~23) |
w | 월 구분 없는 주 | k | 시 (1~24) |
W | 주 | K | 시 (0~11) |
d | 일 | m | 분 |
D | 월 구분 없는 일 | s | 초 |
E | 요일 | S | 밀리초 |
a | 오전과 오후 | z | 타임존 |
- DecimalFormat 클래스
- 정수, 실수를 포함한 다양한 종류의 수를 과학적 표기, 퍼센트 표시, 화폐 표시 등으로 포맷 지원
- DecimalFormat 클래스에서 사용할 수 있는 패턴 기호
패턴 기호 | 설명 |
# | 10진수 |
0 | 선행 제로 10진수 |
. | 소수점 |
, | 구분자 |
+ 또는 - | 양수 또는 음수 |
E | 지수 |
; | 패턴 구분 |
% | 백분율 |
'PROGRAMMING LANGUAGE > JAVA' 카테고리의 다른 글
열거 타입 (0) | 2024.06.10 |
---|---|
예외처리 (0) | 2024.06.09 |
인터페이스 (0) | 2024.06.09 |
상속과 추상 클래스 (0) | 2024.06.09 |