본문 바로가기
IT ▶/Java & Web

Java API 클래스 종류와 패딩(padding) 개념

by Jordan_ 2020. 7. 21.
728x90
반응형

 

 

 

안녕하세요.!!

 

 

Java API 클래스 종류와 패딩 개념입니다.

 

 

 

# Java API = 라이브러리 개념으로 자주 사용되는 Class 및 인터페이스 모음

 

 

 

1. Java.util 패키지 클래스 종류

 

 

Date : 날짜, 시간 관련 정보 클래스

 

Calendar : OS 날짜와 시간 관련 클래스

 

Arrays : 배열 관련 클래스

 

Objects :  객체 비교, null 체크 관련 클래스

 

Random : 난수 관련 클래스

 

 

 

2. Java.lang 패키지 클래스 종류

 

 

Class : 클래스 메모리로 로딩 시 사용

 

Object : Java 클래스의 최상위 클래스

 

System : 데이터 입력 받는 용도, 출력, 자바 가상 기계 종료 등

 

String : 문자열 저장하고 정보 얻는 용도

 

Math : 수학 함수 이용

 

 

 

3. Object 클래스

 

 

자바에서 최상위 부모 클래스로 모든 자바의 클래스는 Object 클래스의 자식이나 자손 클래스

 

 

1> 객체비교 메소드 : Equals()

 

 

<문법>

 

Public equals(Object ob) { ~ }

 

->  두 객체가 같으면 true, 다르면 false 리턴

(비교 할 경우 두 객체 타입이 동일해야 한다.)

 

 

<예시>

 

ob_A 객체과 ob_B 객체 비교하기

 

If(ob_A.equals(ob_B) { ~ }    

If(ob_A == ob_B) { ~ } 

 

 

4. 기타 메소드

 

 

-       Compare(a,b) : 객체 비교

 

-       Hashcode(object a) : 객체의 해시코드 생성

 

-       Isnull(object a) : 객체가 null 인지 체크

 

-       Nonnull(object a) : 객체가 null 아닌지 체크

 

-       toString() : 객체의 문자 정보 리턴

 

 

728x90

 

 

5. System 클래스

 

 

- 운영체제 (OS) 기능을 자바 코드를 통해 사용하기 위해 사용

 

- 프로그램 종료, 입력, 출력, 메모리 정리, 시간 조회, 환경 변수 정보 조회 등

 

 

1> exit() : 프로그램 종료 기능

 

 

- 현재 실행 중인 프로세스 강제 종료

 

System.exit(0); // 정상 종료 = 0 , 비정상 종료 = 0이외의 수 

 

 

 

2> currentTimeMilis(), nanoTime() : 시간 관련 메소드

 

 

->  현재 컴퓨터의 시간을 밀리세컨, 나노세컨 단위 (long) 값 리턴

 

->  시작 시간과 종료 시간을 선언하여 두 시간의 차이로 프로그램 실행 시간 확인

 

long startTime1 = System.currentTimeMillis();
long startTime2 = System.nanoTime();

 

 

 

<로직 처리 소요시간 구하기>

 

 

long startTime1 = System.currentTimeMillis(); // 시작 시간 조회

 

~

로직 처리

~

 

long endTime = System.currentTimeMillis(); // 종료 시간 조회

 

time = endTime-startTime;          // 종료 시간 – 시작 시간

 

 

 

 

 

# Java 패딩 (Padding)

 

 

16 byte 크기의 블록 암호 알고리즘을 사용하여 16 byte 배수가 아니면

 

마지막 블록은 16 byte 보다 작으므로 마지막의 빈 부분을 채워주는 방식

 

 

1>   PKCS#5 패딩 : 8byte 블록의 암호 알고리즘

 

 

원문 길이 : N byte

마지막 블록 크기 = 8 ( N mod 8 )

 

->  3바이트가 모자라면 끝에 03 03 03 으로 블록을 채워줌

 

PKCS7 패딩은 8 byte가 아닌 가변 길이이며, 블록 크기가 1에서 255까지의 값

 

 

 

2>   제로패딩

 

모자란 부분은 00으로 채워주는 방식

 

 

 

 

 

728x90
반응형