티스토리 뷰

JAVA

[Rambda] 람다 표현식의 파라미터

박중수 2015. 4. 7. 12:26

public static void repeat(int n, IntConsumer con){

for(int i=0; i<n, i++) con.accept(i);

}


라는 메소드가 있다면

이 메소드를 호출할 때에는


repeat(10, i->System.out.println(i));


이런식으로 표현한다.


IntConsumer는 정수를 인자로 받아 소비하는 함수를 표현하는 타입이다.


하지만 이런 IntConsumer나 기타 Consumer 타입들은 책에선 인자를 받아 인자를 소비하는 타입이라

나와있는데 소비라는 말보단 사용이나 이용이란 단어가 맞는듯 하다.

소비란 써서 없앤다는 뜻인데 이 함수를 사용하는 개념과는 다른듯하다.


예를 들은 IntConsumer는 정수를 인자로 받고, 반환값이 없는(void) 타입의 메소드 형체일 뿐

인자로 받은 값일 꼭 소모시키라는 법은 없다.

다만 인자를 이용하여 어떤 기능을 수행할 뿐이다.

그냥 소모시킨다는 뜻보다는 정수를 인자로 받고 반환값이 없는 타입을 명시하는거라는거로

이해하면 될것같다

'JAVA' 카테고리의 다른 글

[Rambda] 함수리턴  (0) 2015.04.09
[JAVA8] 파일 필터 만들기  (0) 2015.04.09
[병행성] 원자값 연산  (0) 2015.04.06
[날짜시간] 지역날짜  (0) 2015.04.06
[날짜시간] JAVA8의 Instant와 Duration 날짜계산  (0) 2015.04.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함