◎ JAVA

◆ Math 클래스

  • 생성자가 없다.
    - 생성자가 없을 경우
  1. 아예 생성이 불가 (일회용 메소드 덩어리)
  2. 미리 생성해두었거나 대행 해주는 경우 (싱글톤/팩토리패턴)
    • 이 클래스는 모든 필드와 메소드가 static이므로 첫 번째 경우라 볼 수 있다.
    • 아무데서나 편하게 부를 수 있는 일회용 계산 클래스이다.

// Math a = new Math();
// Math 클래스는 생성자가 없어서 객체를 생성할 수 없다.

◆ System 클래스

  • 외부 환경과 프로그램을 이어주는 것이다.
  • 생성자 없음(아예 생성이 불가 / 미리 생성해두었거나 대행해주는 경우)
  • Math 클래스와 같은 이유로 생성자가 없다.(어이서나 편하게)
  • 프로그램 외부환경(OS)에 대한 정보 및 기능을 제공
  • static은 객체 없이 사용할 수 있지만 static이 있으면 객체 없이도 사용 가능하다.
    System.out.println("hello"); //표준 출력 (System.out은 출력 통로이다.)
    System.err.println("hello"); //표준 오류 출력 (System.err은 오류 출력 통로이다.)
  • 프로그램 종료 (숫자는 외부 환경으로 전달된다.)
    - 숫자 0은 일반적으로 종료 되었다는 뜻이다, 0이외의 값은 비이상적으로 종료 되었다는 뜻이다.
    - 아래에 프로그래밍 코드는 실행되지 않는다.
    System.exit(0);

◆ Runtime 클래스

  • 실행 환경 (외부 환경과 소통할 수 있는 클래스이다.)
  • 생성자 없음(아예 생성이 불가 / 미리 생성해두었거나 대행 해주는 경우)
  • 생성이든 렌탈이든 부탁을 해서 얻어와야 하는 상황
  • 만들 때 반드시 지켜야 하는 규칙이 있는 경우
  • 반드시 생성 메소드가 static으로 존재한다. (get... 으로 되어 있음)

// Runtime r = new Runtime(); // 직접생성(불가)
Runtime r = Runtime.getRuntime(); // 생성의뢰(가능)

◆ StringBuilder

  • non-thread-safe : 대기줄을 세우지 않고 동시다발적으로 처리하는 구조이다.(처리x)
  • non-thread-safe 이므로 빠르지만 여러명이 동시에 접근하면 처리가 복잡해진다.
  • 단일 사용자 환경이라면 이용을 추천한다.

◆ Wrapper 클래스

  • 원시형 데이터(8개)에 필요한 기능을 제공하는 클래스

  • 원시형 데이터
    boolean
    byte
    short
    int
    long
    float
    double
    char

  • 클래스
    Boolean
    Byte
    Short
    Integer
    Long
    Float
    Double
    Character

  • 해당 클래스에 변환 명령
    Boolean.parseBoolean()
    Byte.parseByte()
    Short.parseShore()
    Integer.parseInt()
    Long.parseLong()
    Float.parseFloat()
    Double.parseDouble()
    없다.

데이터를 간단히 쓰고 싶을 때는 원시형 데이터를 사용하고 클래스를 사용하고 싶을 때는 클래스로 사용한다.

profile
Backend Developer

0개의 댓글