Lambda Expression

해듬이 아빠·2021년 2월 28일
0

자바8

목록 보기
1/1

자바8에 들어온 함수형 표현식

함수형 인터페이스(Functional Interface)

  • 추상 메소드를 딱 하나만 가지고 있는 인터페이스
  • SAM (Single Abstract Method) 인터페이스
  • @FuncationInterface 애노테이션 을 가지고 있는 인터페이스

사용법
Interface

@FunctionalInterface
public interface RunSomething {
	int doIt(int numm);	
	
	static void printName() {
		System.out.println("dddddddd");
	}
	
	default void printAge() {
		System.out.println("40");
	}
	
}
  • 텍스트@FunctionalInterface가 정의되어있어야 한다.
  • 정의해 둔 인터페이스에 추상메소드는 1개여야만 한다.
  • default 메소드와 static 메소드는 무시한다.
public static void main(String[] args) {
	// 익명 내부 클래스 : 즉시 실해 함수
	RunSomething runSomething = new RunSomething() {			
		@Override
		public void doIt() {
			System.out.println("TEST");
		}
	};
    
    runSomething.doIt(num);
}

람다 표현식 (Lambda Expressions)

  • 함수형 인터페이스의 인스턴스를 만드는 방법으로 쓰일 수 있다.
  • 코드를 줄일 수 있다.
  • 메소드 매개변수, 리턴 타입, 변수로 만들어 사용할 수도 있다
RunSomething runSomething = (num) -> System.out.println(num);

runSomething.doIt(num);
profile
즐거운 코딩생활

0개의 댓글