본문 바로가기

Java17

열거타입 enum을 사용하기 적절한 순간 Enum 클래스 열거형 클래스. Enum 클래스 내의 정의된 엘리먼트들은 public static final 형태로 사용된다. 그래서 같은 의미로 '연관된 상수들의 집합'으로 정의하기도 한다. (java 1.5 도입) public enum Batting { STRIKE, BALL, HIT; private static final Random random = new Random(); public static Batting generate() { int pick = random.nextInt(Batting.values().length); return Batting.values()[pick]; } } 예시 코드를 보면 어떤 야구 게임 내 도메인 모델을 구현한 도메인 객체(엔티티 클래스)에서 스트라이크, 볼, 안.. 2023. 3. 5.
모던 자바 인 액션 - Stream을 사용해보자 자바 8에서는 Stream API가 도입되어 데이터 처리를 간단하게 하고 가독성을 높혀서 코드 유지보수성을 높이고, 개발자의 생산성을 향상시킬 수 있다. Stream API를 사용하면 배열, 리스트, 파일 등 다양한 소스에서 요소를 추출하고 처리할 수 있다 스트림은 데이터 소스를 변경하지 않으며, 작업을 수행하는 중간 단계와 최종 작업으로 나뉘어진다. 이러한 중간 작업은 Lazy Evaluation 방식으로 처리되며, 최종 작업이 호출되기 전까지는 실행되지 않는다. 이러한 특징 때문에 처리 속도를 높일 수 있다. // 배열 스트림 예시 int[] numbers = {1, 2, 3, 4, 5}; IntStream stream = Arrays.stream(numbers); stream.forEach(Syst.. 2023. 3. 5.
모던 자바 인 액션 - 자바8 함수형 인터페이스 정리 함수형 인터페이스 사용법 함수형 인터페이스의 추상 메서드는 람다 표현식의 시그니쳐를 묘사한다. (함수 디스크립터) 자바 API는 Comparable, Runnable, Callable 등의 다양한 함수형 인터페이스를 포함하고 있음 java 8 에서 java.util.function 패키지로 다양한 함수형 인터페이스를 제공한다. 대표적인 함수형 인터페이스 3가지 - Predicate, Consumer, Function java.util.function.Predicate test 라는 추상메서드를 정의한다. 함수 디스크립터: T → boolean @FunctionalInterface public interface Predicate { boolean test(T t); } public List filter(L.. 2023. 2. 28.
자바의 클래스, 인스턴스, 메서드 관련 개념 목차 1. 자바의 클래스 정의, 클래스 구성요소 2. 인스턴스(객체) 선언 - new keyword 3. 메서드 정의 4. 메서드 오버로딩, 메서드 오버라이딩 5. 객체의 생성자 6. this keyword 7. Reflexion API 1. 자바의 클래스 정의, 클래스 구성요소 클래스는 개체를 정의하는 틀이다. (객체의 속성과 기능을 하나로 묶어 놓은 틀) 혹은 데이터와 함수의 결합, 사용자 정의 타입 등으로 정의할 수 있다. 클래스의 구성요소로는 멤버변수, 생성자, 메서드, 초기화 블록, 접근 지정자(access modifier), 그외의 modifier로 분류할 수 있다. 1. 멤버변수(property, member variable, attribute, field, state) - 객체지향에서 속성.. 2022. 10. 30.