본문 바로가기

분류 전체보기125

03. [자바] 람다 - function패키지 인터페이스 java.util.function패키지 java.util.function패키지에 람다식을 구현할 수 있는 여러 형식의 인터페이스를 미리 정의해 놓았다. 가능하면 매번 새로운 함수형 인터페이스를 정의하지 말고 이 패키지의 인터페이스를 활용하는게 좋다. 매개변수가 없거나 하나인 함수형 인터페이스 함수형 인터페이스 메소드 설 명 java.lang.Runnable void run() 매개변수가 없고, 반환값도 없음. Supplier T get() 매개변수가 없고, 반환값만 있음. Consumer void accept(T t) 매개변수만 있고, 반환값이 없음. Function R apply(T t) 하나의 매개변수로 결과를 반환함. UnaryOperator T apply(T t) Function의 자손으로 매개변.. 2021. 1. 12.
02. [자바] 함수형 인터페이스(Funciton Interface) 함수형 인터페이스? 함수형 인터페이스에는 오직 하나의 추상 메서드만 정의되어 있어야 한다. 그래야 람다식과 인터페이스의 메서드가 1:1로 연결될 수 있기 때문이다. 💡람다를 사용하여 함수인터페이스를 구현 하면 익명 함수보다 더 간단한 구조로 코딩이 가능하다. 💡하나의 함수형 인터페이스를 람다를 이용해 여러번 사용이 가능하다 여러가지 기능으로 구현이 가능하다 '@FunctionalInterface'를 붙이면, 컴파일러가 함수형 인터페이스를 올바르게 정의하였는지 확인해준다. @FunctionalInterface interface CompInt { public abstract int max(int a, int b); } 람다를 사용하지 않고 함수인터페이스를 구현 public class Main { public.. 2021. 1. 12.
01. [자바] 람다식(Lambda expression) 람다식(Lambda expression)? 자바가 객체지향언어라는 사실은 모두가 익히 아는 사실이었지만 람다식으로 인해 객체지향언어인 동시에 함수형 언어가 되었다는 사실은 아직도 많은 사람들이 모르는 듯 하다. 💡 람다식은 메서드를 하나의 식으로 표현한 것인데 이 식은 간략하면서도 명확한 표현을 할수 있게 해준다. 💡 람다식을 사용하면 메서드의 이름과 반환값이 없어지는데 이것을 익명함수 라고도 한다. 람다식 사용 전 랜덤 숫자를 넣기 위해 randomNum 메소드를 만들었다. public static void main(String[] args) { int[] arr = new int[5]; Arrays.setAll(arr, randomNum()); } int randomNum() { return (int.. 2021. 1. 12.
06. [자바] 애너테이션(Annotation) 애너테이션? 애너테이션의 사전적 의미로는 주석, 주해, 메모이다 애너테이션은 추석 처럼 프로그래밍 언어에 영향을 미치지 않지만 다른 프로그램에게 유용한 정보를 제공하는 용도이다. 크게 두가지로 나눌수 있는데 표준 애너테이션과 메타 애너테이션이 있다. 표준 애너테이션 자바에서 기본적으로 제공하는 애너테이션이다. 애너테이션 설명 @Overrde 컴파일러에게 오버라이딩하는 메서드라는 것을 알린다. @Deprecated 앞으로 사용하지 않을 것을 권장하는 알림이 생긴다. @SuppressWarnings 컴파일러의 특정 경고메시지가 나타나지 않게 해준다. @SafeVarargs 제네릭스 타입의 가변인자에 사용한다. @FunctionalInterface 함수형 인터페이스라는 것을 알린다. @Native native.. 2021. 1. 11.