Cohe

12 JAVA API 본문

개발 언어/JAVA

12 JAVA API

코헤0121 2024. 3. 20. 16:46
728x90

JAVA API(Application Programming Interface)

  • API는 라이브러리고도 부르며 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말함.
  • 자바 표준 API를 확인 !!

java.lang 패키지

  • java.lang 패키지는 자바 프로그램의 기본적인 클래스들을 담고 있는 패키지
  • 이런 이유로, java.lang 패키지에 있는 클래스와 인터페이스는 import 구문 없이 사용이 가능함.

java.lang 패키지 주요 클래스

  • Object : 자바 클래스의 최상위 클래스
  • System : 표준 입력장치(키보드)로부터 데이터를 입력받거나 표준 출력장치(모니터)로 출력하기 위한 클래스
  • Class : 클래스를 메모리에 로딩할 때 사용!
  • String : 문자열을 저장하고, 문자열의 여러가지 정보를 얻을 때 사용
  • Math : 수학 함수를 이용할 때 사용
  • Wrapper(Byte, Short, Integer, Long, Float, Double, Boolean, Character)
    : 기본 데이터 타입의 객체를 만들 때 사용!
    • 기본 자료형을 클래스로 묶어줌

Object 클래스

  • 클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않으면 묵시적으로 Object 클래스를 상속.
  • 모든 클래스가 Object를 상속하기 때문에 Object의 메서드는 모든 클래스에서 사용이 가능함.

System 클래스

  • System 클래스를 이용하면 운영체제의 일부 기능을 이용할 수 있다! 프로그램 종료, 키보드로 입력, 모니터 출력, 메모리 정리, 현재시간 읽기 등 작업이 가능!
    • in과 out으로 처리~!
  • System 클래스의 모든 멤버는 static으로 구성되어 있어 클래스 이름으로 바로 접근이 가능합니다.

System 클래스 주요 메서드

  1. exit() : 현재 실행하고 있는 프로세스를 강제 종료! 정상적인 종료일 경우 status 값을 0으로 주고,
    비정상적인 경우에는 0이외의 값을 줌.
  2. currentTimeMillis() : 컴퓨터의 시계로부터 현재 시간을 읽어서 밀리세컨드(1/1000초)단위와 나노세컨드 (1/10^9초)의 long값을 리턴합니다. 주로 프로그램 실행 요소 시간 측정으로 성능을 테스트할 때 사용
  3. getProperty() : JVM이 시작할 때 자동 설정되는 시스템 속성 값을 구합니다.
    • 컴퓨터 정보값이 담겨져 있음
  4. gc() : Garbage Collector를 실행!

String 클래스

  • String의 생성자를 사용하여 객체를 만들 필요 없이 기초 데이터를 사용할 때 처럼 바로 초기화해서 사용 가능

String 주요 메서드

  1. charAt() : 특정 인덱스의 글자를 리턴
  2. indexOf() : 특정 문자열의 시작 인덱스 값을 반환! 만약 주어진 문자열이 없는 경우 -1를 반환
  3. length()* : 문자열의 길이 값을 알려줌
    • 얘도 중요해~
  4. replace()* : 특정 문자열을 변경
  5. substring()* : 인덱스를 기준으로 그 앞의 문자열을 잘라줍니다. 매개변수가 2개인 경우, 처음 매개변수 값 이상, 두번째 매개값 미만의 문자열을 제외한 나머지를 삭제.
    • 문자열의 일부를 추출할 수 있다.
  6. toUpperCase() : 영문자 문자열을 대문자로 치환
  7. toLowerCase() : 영문자 문자열을 소문자로 치환
  8. trim() : 문자열의 앞, 뒤 공백을 제거
    • space, tab, enter is 공백~~
  9. equals() : 문자열의 값을 비교
  10. valueOf() : 기본 데이터 타입의 값들을 문자열로 변환
    • int float boolean을 모두 String으로 변경한다
  11. split()* : 특정 문자열 기준으로 잘라서 배열에 리턴
    • 중요해~

String 클래스의 단점

  • String객체는 처음 초기화된 데이터에 변화가 생기면 기존 객체를 재활용하지 않고, 새로운 객체를 생성합니다. → 메모리 소모가 크다
    • 메모리를 과소비한다는 문제점이 있음.

StringBuilder

  • String 클래스의 단점인 새로운 객체를 생성하는 문제로 인해 속도가 느려지는 현상이 발생하기 때문에 이 문제를 해결하기 위해서 속도적인 측면에서 개선된 클래스

StringBuilder 클래스의 주요 메서드

  1. append() : 기존 문자열의 뒤에 문자열을 추가합니다.
  2. insert() : 특정 위치에 문자열을 추가합니다.
  3. delete() : 문자열을 삭제합니다.
  4. deleteCharAt() : 특정 인텍스의 문자 하나를 삭제합니다.
  5. replace() : 문자열의 일부분을 다른 문자열로 대체합니다.
    • String은 수정하면 새로 만들어지는데, StringBuilder는 즉각적으로 만들어질 수 있도록 처리해준다
  6. setCharAt() : 문자열의 주어진 index의 문자를 다른 문자로 대체합니다.
  7. toString() : StringBuilder 객체의 값을 문자열로 반환
  8. reverse() : 문자열을 거꾸로 뒤집습니다.

Math 클래스 - 수학관련

  • Math 클래스는 수학 계산에 사용할 수 있는 메서드들을 제공
  • Math 클래스가 제공하는 메서드는 모두 정적 메서드로 Math클래스 이름으로 바로 접근 사용이 가능함.

Math 클래스 주요 메서드

  1. abs() : 절대값 구함
  2. ceil() : 올림값 구함
  3. floor() : 내림값 구함
  4. max() : 수를 비교하여 최대값
  5. min() : 수를 비교하여 최소값
  6. random() : 램덤값(0.0 <= x < 1.0 사이의 실수)
  7. rint() : 현재 수에서 가까운 정수를 실수형태로 구함
  8. round() : 반올림값을 구함
    ....

Wrapper 클래스

  • 자바는 기본 타입의 값을 가지는 객체를 생성할 수 있습니다.
  • 이런 객체를 포장(Wrapper) 객체라고 합니다. 이유는 기본 타입의 값을 객체 내부에 두고 포장한다는 개념이기 때문
  • 포장 객체의 특징은 포장하고 있는 기본 타입의 값은 외부에서 변경할 수 없다.
    다만 변경하고자 한다면 새로운 포장 객체를 생성해야 합니다.
  • 다양한 Wrapper 클래스 : Byte, Short, Integer, Long, Float, Double, Boolean, Character
  • 기본 타입의 값을 포장 객체로 만드는 과정 박싱(Boxing)이라고 하고, 포장 객체에서 기본 타입의 값을 얻어내는
    과정을 언박싱(Unboxing)이라고 합니다.
    ( 자바 1.8버전(Java 8) 부터 AutoBoxing 을 지원)
  • 문자열을 기본 타입 값으로 변환할 때에 많이 사용함. 대부분의 포장 클래스는 "parse+기본타입"명으로 되어 있는 static 메서드를 제공하고 있음.

'개발 언어 > JAVA' 카테고리의 다른 글

14 람다식  (0) 2024.03.25
13 객체 정렬을 위한 객체 간 크기 비교, 제너릭 , File 입출력  (0) 2024.03.21
11 Exception  (0) 2024.03.19
10 Interface 인터페이스  (1) 2024.03.18
09 Usage Modifier  (0) 2024.03.15