java.base 모듈

Korangii·2024년 6월 27일

Java

목록 보기
11/24

Math 클래스

  • 수학 계산에 사용할 수 있는 정적 메소드 제공
  • 올림값 : Math.ceil

랜덤 숫자 얻기

  • 테스트할 때 사용
  • Math.random() : 0.0과 1.0 사이의 double 타입 난수를 리턴
  • 생성자
    • Random() : 현재 시간을 이용해서 종자값을 자동 설정
    • Random(long seed) : 주어진 종자값을 사용한다.
    • nextInt(int n) : int 타입의 난수를 리턴(0<= ~ <n)

set을 함께 사용하기도 한다. (중복 제거)

random.nextInt(45) + 1;
// 1~45사이의 랜덤한 숫자 중에서 사용
// 기존의 0~44에서 1을 더해줬기 때문에 1~45

배열정렬(코딩테스트)
Arrays
Objects -> Object
Files -> File
Paths -> Path


이 주소에 배열이 있는데 Integer이다.


java.util 패키지

  • Date : 날짜 정보를 전달하기 위해 사용
  • Calendar : 다양한 시간대별로 날짜와 시간을 얻을 때 사용
  • LocalDateTime : 날짜와 시간을 조작할 때 사용

MM : Month
mm : minute
HH : 24시간제 표기
hh : 12시간제 표기

a hh:mm:ss

  • a : 오전/오후

Calendar : 달력을 표현하는 추상 클래스

날짜와 시간 조작

java.time 패키지의 LocalDateTime
클래스가 제공하는 메소드를 이용해 날짜와 시간을 조작 가능

LocalDateTime now = LocalDateTime.now();

실제 변경은 format()이라는 메소드를 통해 연산
Spring - Date(), localDate

날짜와 시간 비교

("#,###.0") : 소수 첫째자리까지 표기


정규 표현식

  • : 없음 또는 한 개 이상

리플렉션

Class 객체로 관리하는 클래스와 인터페이스의 메타 정보를 프로그램에서 읽고 수정하는 것
1. 클래스이름.class; : static멤버다
2. Class.forName("패키지...클래스이름"); : 문자열, 로딩을 포함한다. / 클래스이름은 반드시 예외처리를 해야한다.
3. 객체참조변수.getClass(); : 인스턴스를 통해 얻는다.

clazz : class의 키워드


리소스 경로 얻기

리소스 : 클래스(코드)를 제외한 나머지 파일


어노테이션

  • 코드에서 @으로 작성되는 요소
  • 클래스 또는 인터페이스를 컴파일하거나 실행할 대 어떻게 처리해야 할 것인지를 알려주는 설정 정보
  • 컴파일 시 사용하는 정보 전달
  • 빌드 툴이 코드를 자동으로 생성할 때 사용하는 정보 전달
  • 실행 시 특정 기능을 처리할 때 사용하는 정보 전달(Spring에서 주로 사용)
  • Lombok
    • Getter
    • Setter

어노테이션 타입 정의와 적용

  • @interface 뒤에 사용할 어노테이션 이름 작성
public @interface AnnotationName {
}

@AnnotationName

value()

  • 값이 하나일 때는 생략가능
  • 값이 두 개 이상일 때는 반드시 작성하기

어노테이션 유지 정책

  • SOURCE : 컴파일할 때 적용 / 컴파일 후 제거
  • CLASS : 메모리롤 로딩할 때 적용 / 메모리로 로딩된 후에 제거
  • RUNTIME : 싫행할 때 적용 / 계속 유지됨

어노테이션 설정 정보 이용

  • 애플리케이션은 리플렉션을 이용해 적용 대상에서 어노테이션의 정보를 다음 메소드롤 얻어냄
package ch12.sec12;

public class Service {
@PrintAnnotation
public void method1() {
System.out.println("실행 내용1");
}

@PrintAnnotation("*")
public void method2() {
System.out.println("실행 내용2");
}

@PrintAnnotation(value="#", number=20)
public void method3() {
System.out.println("실행 내용3");
}
}

인스턴스가 있어야 메소드 호출가능

전처리

후처리

profile
https://honeypeach.tistory.com/ 로 이전했습니다.

0개의 댓글