λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
TIL

01/16(ν™”) 내일배움캠프 Java 17일차 TIL - λžŒλ‹€(Lambda)

by 감자개발꾼 2024. 1. 16.

 

πŸ“–  μ˜€λŠ˜μ˜ ν•™μŠ΅ ν‚€μ›Œλ“œ

  • λžŒλ‹€ν•¨μˆ˜

 

πŸ₯”  Lambda

λžŒλ‹€ν•¨μˆ˜λž€

 

λžŒλ‹€ ν•¨μˆ˜λŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ μ‚¬μš©λ˜λŠ” κ°œλ…μœΌλ‘œ 읡λͺ… ν•¨μˆ˜λ₯Ό μ§€μΉ­ν•˜λŠ” μš©μ–΄μž…λ‹ˆλ‹€.

읡λͺ… ν•¨μˆ˜λž€ 말 κ·ΈλŒ€λ‘œ 이름이 μ—†λŠ” ν•¨μˆ˜λ₯Ό λœ»ν•˜λ©°, 일급 객체둜 μ·¨κΈ‰λ©λ‹ˆλ‹€.

ν˜„μž¬ μ‚¬μš©λ˜λŠ” λžŒλ‹€μ˜ 근간은 μˆ˜ν•™κ³Ό 기초 컴퓨터과락 λΆ„μ•Όμ—μ„œμ˜ λžŒλ‹€ λŒ€μˆ˜μž…λ‹ˆλ‹€.

λžŒλ‹€ λŒ€μˆ˜λŠ” μˆ˜ν•™μ—μ„œ μ‚¬μš©ν•˜λŠ” ν•¨μˆ˜λ₯Ό 보닀 λ‹¨μˆœνžˆ ν‘œν˜„ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

 

 

 

πŸ₯”  λžŒλ‹€ 문법

// 기본적으둜 문법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.
(νŒŒλΌλ―Έν„° κ°’, ...) -> { ν•¨μˆ˜ λͺΈμ²΄ }

// μ•„λž˜μ˜ ν•¨μˆ˜ λ‘κ°œλŠ” 같은 ν•¨μˆ˜μž…λ‹ˆλ‹€.
// 이름 λ°˜ν™˜νƒ€μž…, returnλ¬Έ 여뢀에 따라 {}κΉŒμ§€λ„ μƒλž΅μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.
public int toLambdaMethod(int x, int y) {
	return x + y;
}

(x, y) -> x + y

// 이런 ν•¨μˆ˜λ„ κ°€λŠ₯ν•˜κ² μ£ ?
public int toLambdaMethod2() {
	return 100;
}

() -> 100

// λͺ¨λ“  μœ ν˜•μ˜ ν•¨μˆ˜μ— κ°€λŠ₯ν•©λ‹ˆλ‹€.
public void toLambdaMethod3() {
	System.out.println("Hello World");
}

() -> System.out.println("Hello World")

 

 

 

πŸ“š  μ˜€λŠ˜μ˜ 회고

λ°°μš°κΈ°κ°€ λ¬΄μ„­κ²Œ 또 μƒˆλ‘œ 배울 것듀이 λ„˜μ³λ‚©λ‹ˆλ‹€.

곡뢀할 μ‹œκ°„μ΄ 뢀쑱해도 λ„ˆλ¬΄ λΆ€μ‘±ν•˜μ§€λ§Œ

μ–΄λ–»κ²Œλ“  μ‹œκ°„μ„ μͺΌκ°œκ³  μͺΌκ°œμ„œ

μ œκ°€ μͺΌκ°œμ§€μ§€ μ•Šμ„ μ •λ„λ‘œλ§Œ μ—΄μ‹¬νžˆ κ³΅λΆ€ν•˜κ² μŠ΅λ‹ˆλ‹€.