플레이데이터 - 10일차 자바 공부

Kim Hyen Su·2023년 7월 12일

※복습

  • 익명객체 : 일회용으로 사용하기 위한 객체.
  • 예외처리 : 프로그램 실행 시 예외가 발생하지 않고 정상 실행되도록 처리하는 것.

🎇유용한 클래스

자바 API Document

  • 자바에서 제공하는 API
  • 라이브러리라고도 부르며, 프로그램 개발에 자주 사용되는 클래스 및 인터페이스가 정의되어 있는 모음집이다.

java.lang 패키지

Object

  • 자바 최상위 클래스.

  • equals()

    • Object 클래스에 정의된 equals()는 물리적 동일함만 확인한다.
    • 논리적 동일함을 확인하기 위해서는 String 클래스처럼 equals() 메서드를 오버라이딩 해줘야 한다.
    • 논리적으로 동등하다는 것은 같은 객체이건 다른 객체이건 상관없이 객체가 저장하고 있는 데이터가 동일함을 뜻한다.
  • hashCode()

    • 객체 해시코드를 조회하는 메서드.
    • 해시코드 : 객체를 식별하는 하나의 정수값.
    • 해시코드는 객체의 참조값을 이용해서 해시 코드를 만들어 리턴하기 때문에 객체마다 고유 값을 갖는다.
    • equals()를 재정의한 경우 논리적으로 동등 비교 시 hashCode()도 함께 재정의 해줘야 한다.
  • toString()

    • Object 클래스의 toString()은 객체 문자 정보를 반환하는 메서드.
    • 클래스 full name + 참조값
    • 객체를 참조하는 변수명만 콘솔에 출력해도 toString()과 동일한 결과를 출력함.
    • 일반적으로 재정의하여 사용한다.
        Ex)
        Object obj1 = new Object();
        System.out.println(obj1.toStirng());
        System.out.println(obj1);
        ==============================
        실행결과
        ============================
        값1
        값1

System

  • 자바는 운영체제로 부터 메모리를 할당받아 JDK 위에서 프로그램을 실행한다.
  • 운영체제의 기능은 접근이 불가하지만, 일부 기능을 제공하는데 이러한 기능들이 java.lang.System 클래스 내에 정의되어 있다.
  • 대표적인 메서드로 exit()가 있는데, 이 메서드는 프로세스를 종료해주는 메서드이다. 매개값으로 0을 받게 되면 프로세스 정상 종료를 의미한다.

Class

  • 클래스 로더에 의해 로딩된 클래스의 정보를 담은 클래스.
  • 클래스 정보를 가져오는 방법
    • 클래스의 정적 필드 호출(클래스 로더에 의해서 로딩 시 내부적으로 생성)
    • Class 클래스 정적 메서드 forName(String 클래스 fullname);
    • Object 클래스 getClass() 메서드 호출.

String

  • 문자열 인코딩
    • getBytes() : 바이트 배열로 변환하는 메서드
    • 시스템의 기본 문자셋으로 인코딩된 바이트 배열을 반환.
    • getBytes(String charsetName) : 특정 문자셋으로 인코딩하는 메서드.
  • 문자열 디코딩
    • 바이트 배열을 다시 문자열로 변환 시 String 생성자를 이용하여 디코딩한다.
    • 인코딩 시 사용한 문자셋에 따라 디코딩 시에도 똑같은 문자셋으로 설정해줘야 한다.
    • 지원하지 않는 문자셋 사용 시 UnsupportedEncodingException 예외 발생함.
      Ex)
      	String str = new String(byte[] bytes, String charsetName);
  • length() : 문자열 길이 조회 메서드.
  • replace() : 첫번째 매개값인 문자열을 찾아 두번째 매개값인 문자열로 대체한 새로운 문자열을 생성 후 반환하는 메서드.
  • substring() : 주어진 문자열을 원하는 문자까지 잘라주어 반환하는 메서드.
  • upperCase() & lowerCase() : 영대문자 || 영소문자로 변환해주는 메서드.
  • trim() : 공백 제거 메서드.
  • valueOf() : 문자열로 변환해주는 메서드.

Wrapper

  • 기본 타입을 객체로 포장해주는 클래스.
  • Boxing & Unboxing
    • Boxing : 객체로 만드는 것
    • Unboxing : 기본형의 값을 얻어내는 것.
  • Auto Boxing & Auto Unboxing
    • Auto Boxing : 클래스 타입에 기본값이 대입될 경우 발생.
    • Auto Unboxing : 기본 타입과 래퍼 클래스 간의 연산 시 발생.
  • 기본형과 래퍼 클래스를 남발하게 되면 자동 박싱 언박싱으로 인해 연산이 추가되어 의도치 않게 메모리를 추가로 사용하게 되기 때문에, 이를 고려하여 변수 타입을 선언해줘야 한다.

Math

  • rint(double d) : 가까운 정수의 실수값을 반환해주는 메서드.
  • 이외의 메서드는 java doc 참고하여 사용.
profile
백엔드 서버 엔지니어

0개의 댓글