BackEnd/Java
-
Java8. 메소드 레퍼런스 (Method Reference)BackEnd/Java 2022. 1. 20. 23:27
메소드 레퍼런스(Method Reference)란 ::를 사용하여 축약하는 방법입니다. 메소드 참조 방법 Static Method 참조 특정 객체 Instance Method 참조 생성자 참조 임의 객체 Instance Method 참조 메소드 또는 생성자의 매개변수로 람다의 입력 값을 받으며, 리턴 값 또는 생성한 객체는 람다의 리턴 값입니다. public class Hello { private String name; public Hello() {} public Hello(String name) { this.name = name; } public String print(String name) { return "Hello, " + name; } public String printName() { retur..
-
Java8. 람다 표현식 (Lambda Expressions)BackEnd/Java 2022. 1. 20. 22:54
람다 표현식(Lambda Expressions)이란 메소드를 하나의 식으로 표현하는 것으로, (매개변수 목록) -> { Body } 형태를 가집니다. IntelliJ 사용 시 아래 이미지처럼 회색으로 표시된 부분에서 Option + Enter를 누르면 자동으로 변환이 가능합니다. 매개변수 목록 매개변수가 없는 경우: () 매개변수가 한 개인 경우: (i) or i 매개변수가 여러개인 경우: (i, j) 매개변수의 타입은 컴파일러가 추론하기에 생략이 가능하나 명시할 수도 있습니다. (Integer i, Integer j) Body 화살표 오른쪽에 함수 본문을 정의하며, 여러 줄인 경우 {}를 사용해서 묶습니다. 한 줄인 경우에는 생략이 가능합니다. (return도 생략 가능) 람다 표현식에서는 final이..
-
Java8. 함수형 인터페이스 (Functional Interface)BackEnd/Java 2022. 1. 20. 22:04
함수형 인터페이스란 추상 메소드를 딱 하나만 가지고 있는 인터페이스입니다. @FunctionalInterface 애노테이션을 가지고 있는 SAM (Single Abstract Method) 인터페이스입니다. @java.lang.FunctionalInterface public interface FunctionalInterface { // 추상 메서드 (abstract method) void printJava(); // static method는 가질 수 있습니다. static void printStatic() { System.out.println("static method"); } // default method는 가질 수 있습니다. default void printDefault() { System.out..