본문 바로가기

Java5

Enum enum은 열거형(enumerated type)이라고 부른다. 열거형은 서로 연관된 상수들의 집합이라고 할 수 있다. enum은 class, interface와 동급의 형식을 가지는 단위다. 하지만 enum은 사실상 class이다. 편의를 위해서 enum만을 위한 문법적 형식을 가지고 있기 때문에 구분하기 위해서 enum이라는 키워드를 사용하는 것이다. 예시 public enum Week { MONDAY("mon", 10), TUESDAY("tue", 20), WEDNESDAY("wed", 30), THURSDAY("thu", 40), FRIDAY("fri", 50), STURDAY("sat", 60), SUNDAY("sun", 70); private final String title; private f.. 2023. 10. 27.
Java Stream Stream ● sequence of elements supporting sequential and parallel aggregate operations ● 데이터를 담고 있는 저장소 (컬렉션)이 아니다. ● Funtional in nature, 스트림이 처리하는 데이터 소스를 변경하지 않는다. ● 스트림으로 처리하는 데이터는 오직 한번만 처리한다. ● 무제한일 수도 있다. (Short Circuit 메소드를 사용해서 제한할 수 있다.) ● 중개 오퍼레이션은 근본적으로 lazy 하다. ● 손쉽게병렬처리할수있다. 스트림 파이프라인 ● 0 또는 다수의 중개 오퍼레이션 (intermediate operation)과 한개의 종료 오퍼레이션 (terminal operation)으로 구성한다. ● 스트림의 데이터 .. 2023. 4. 20.
람다 메소드 레퍼런스 람다가 하는 일이 기존 메소드 또는 생성자를 호출하는 거라면, 메소드 레퍼런스를 사용해서 매우 간결하게 표현할 수 있다. 메소드 참조하는 방법 스태틱 메소드 참조 -> 타입::스태틱 메소드 특정 객체의 인스턴스 메소드 참조 -> 객체 레퍼런스::인스턴스 메소드 임의 객체의 인스턴스 메소드 참조 -> 타입::인스턴스 메소드 생성자 참조 -> 타입::new ● 메소드 또는 생성자의 매개변수로 람다의 입력값을 받는다. ● 리턴값 또는 생성한 객체는 람다의 리턴값이다. public class Greeting { private String name; public Greeting() { } public Greeting(String name) { this.name = name; } public String hello.. 2023. 4. 13.
함수형 인터페이스 와 람다표현식 백기선 강사님의 더 자바 8 인프런 강의 참조 함수형 인터페이스 (Functional Interface) ● 추상 메소드를 딱 하나만 가지고 있는 인터페이스 ● SAM (Single Abstract Method) 인터페이스 ● @FuncationInterface 애노테이션​을 가지고 있는 인터페이스 @FunctionalInterface public interface RunSomething { void doIt(); static void print(){ System.out.println(1); } } 추상 메소드가 딱하나다 스태틱은 몇개가 있던 추상메소드가 하나면된다. 기존 인터페이스를 구현하려면 익명오브젝트로 구현했었다. RunSomething runSomething2 = new RunSomething(.. 2023. 4. 11.