본문 바로가기

전체 글

(334)
[Java] 타입 안전 열거형 패턴 (Type-Safe-Enum Pattern) 문자열과 타입 안전성1 먼저 자바가 제공하는 열거형(Enum Type)이 만들어진 근본적인 이유를 알아봅시다. public class DiscountService { public int discount(String grade, int price) { int discountPercent = 0; if (grade.equals("BASIC")) { discountPercent = 10; } else if (grade.equals("GOLD")) { discountPercent = 20; } else if (grade.equals("DIAMOND")) { discountPercent = 30; } else { System.out.println(grade + ": 할인X"); } return price * di..
[Java] Math, Random 클래스 Math 클래스 Math는 수 많은 수학 문제를 해결해주는 클래스 입니다. 너무 많은 기능을 제공하기 때문에 나와있지 않는 기능은 API 문서를 찾아봅시다. 1. 기본 연산 메서드 abs(x) : 절대값 max(a, b) : 최대값 min(a, b) : 최소값 2. 지수 및 로그 연산 메서드 exp(x) : e^x 계산 log(x) : 자연 로그 log10(x) : 로그 10 pow(a, b) : a의 b 제곱 3. 반올림 및 정밀도 메서드 ceil(x) : 올림 floor(x) : 내림 rint(x) : 가장 가까운 정수로 반올림 round(x) : 반올림 4. 삼각 함수 메서드 sin(x) : 사인 cos(x) : 코사인 tan(x) : 탄젠트 5. 기타 유용한 메서드 sqrt(x) : 제곱근 cbr..
[Java] System 클래스 System 클래스는 시스템과 관련된 기본 기능들을 제공합니다. import java.util.Arrays; public class SystemMain { public static void main(String[] args) { // 현재 시간(밀리초)를 가져온다. long currentTimeMills = System.currentTimeMillis(); System.out.println("currentTimeMills = " + currentTimeMills); // 현재 시간(나노초)를 가져온다. long currentTimeNano = System.nanoTime(); System.out.println("currentTimeNano = " + currentTimeNano); // 환경 변수를 읽는..