Backend/Java

Backend/Java

[Java] μ—΄κ±°ν˜•(enum)μ΄λž€?

* λ³Έ λ‚΄μš©μ€ 을 μ°Έκ³ ν•˜μ—¬ μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€. ● μ—΄κ±°ν˜•μ€ μ—¬λŸ¬ μƒμˆ˜λ₯Ό μ„ μ–Έν•΄μ•Ό ν•  λ•Œ, νŽΈλ¦¬ν•˜κ²Œ μ„ μ–Έν•  수 μžˆλŠ” 방법이닀. ● 일반적으둜 μƒμˆ˜λ₯Ό μ„ μ–Έν•˜λŠ” 방법 class Card { static final int CLOVER = 0; static final int HEART = 1; static final int DIAMOND = 2; static final int SPADE = 3; final int kind; } ● μ—΄κ±°ν˜•μ„ μ΄μš©ν•˜μ—¬ μƒμˆ˜λ₯Ό μ„ μ–Έν•˜λŠ” 방법 class Card { enum Kind { CLOVER, HEART, DIAMOND, SPADE } final Kind kind; } λ”°λ‘œ 값을 지정해주지 μ•Šμ•„λ„ μžλ™μ μœΌλ‘œ 0λΆ€ν„° μ‹œμž‘ν•˜λŠ” μ •μˆ˜κ°’μ΄ ν• λ‹Ήλœλ‹€. μ—΄κ±°ν˜•μ„ μ •μ˜ν•˜λŠ” 방법 - enum μ—΄κ±°..

Backend/Java

[Java] μ˜€λ²„λΌμ΄λ”©(overriding)μ΄λž€?

* λ³Έ λ‚΄μš©μ€ 을 μ°Έκ³ ν•˜μ—¬ μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€. ● μ •μ˜ 쑰상 ν΄λž˜μŠ€λ‘œλΆ€ν„° 상속받은 λ©”μ„œλ“œμ˜ λ‚΄μš©μ„ λ³€κ²½ν•˜λŠ” 것을 λ§ν•œλ‹€. 상속받은 λ©”μ„œλ“œλ₯Ό κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜κΈ°λ„ ν•˜μ§€λ§Œ, μžμ† 클래슀 μžμ‹ μ— 맞게 λ³€κ²½ν•΄μ•Όν•˜λŠ” κ²½μš°κ°€ λ§Žλ‹€. 이럴 λ•Œ μ‘°μƒμ˜ λ©”μ„œλ“œλ₯Ό μ˜€λ²„λΌμ΄λ”©ν•œλ‹€. class Point { int x; int y; String Location() { return x + y; } } class Point3D extends point { int z; String Location() { return x + y + z; } } ● μ˜€λ²„λΌμ΄λ”©μ˜ 쑰건 μ„ μ–ΈλΆ€κ°€ 쑰상 클래슀의 λ©”μ„œλ“œμ™€ μΌμΉ˜ν•΄μ•Ό ν•œλ‹€. μ ‘κ·Ό μ œμ–΄μžλ₯Ό 쑰상 클래슀의 λ©”μ„œλ“œλ³΄λ‹€ 쒁은 λ²”μœ„λ‘œ λ³€κ²½ν•  수 μ—†λ‹€. (public > protected > (default) ..

Backend/Java

[Java] Map μΈν„°νŽ˜μ΄μŠ€

* λ³Έ λ‚΄μš©μ€ 을 μ°Έκ³ ν•˜μ—¬ μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€. ● MapμΈν„°νŽ˜μ΄μŠ€λŠ” ν‚€(key)와 κ°’(value)을 ν•˜λ‚˜μ˜ 쌍으둜 λ¬Άμ–΄μ„œ μ €μž₯ν•˜λŠ” μ»¬λ ‰μ…˜ 클래슀λ₯Ό κ΅¬ν˜„ν•˜λŠ” 데 μ‚¬μš©λœλ‹€. ν‚€λŠ” 쀑볡될 수 μ—†μ§€λ§Œ 값은 쀑볡을 ν—ˆμš©ν•œλ‹€. 기쑴에 μ €μž₯된 데이터와 μ€‘λ³΅λœ 킀와 값을 μ €μž₯ν•˜λ©΄ 기쑴의 값은 없어지고 λ§ˆμ§€λ§‰μ— μ €μž₯된 값이 λ‚¨κ²Œ λœλ‹€. MapμΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•œ ν΄λž˜μŠ€λ‘œλŠ” Hashtable, HashMap, LinkedHashMap, SortedMap, TreeMap 등이 μžˆλ‹€. β€» MapμΈν„°νŽ˜μ΄μŠ€μ—μ„œ κ°’(value)은 쀑볡을 ν—ˆμš©ν•˜κΈ° λ•Œλ¬Έμ— Collectionνƒ€μž…μœΌλ‘œ λ°˜ν™˜ν•˜κ³ , ν‚€(key)λŠ” 쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— Setνƒ€μž…μœΌλ‘œ λ°˜ν™˜ν•œλ‹€.

Backend/Java

[Java] λžŒλ‹€μ‹(Lambda Expression)

* λ³Έ λ‚΄μš©μ€ 을 μ°Έκ³ ν•˜μ—¬ μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€. ● λžŒλ‹€μ‹(Lambda Expression)은 λ©”μ„œλ“œλ₯Ό ν•˜λ‚˜μ˜ '식(expression)'으둜 ν‘œν˜„ν•œ 것이닀. λžŒλ‹€μ‹μ€ ν•¨μˆ˜λ₯Ό κ°„λž΅ν•˜λ©΄μ„œλ„ λͺ…ν™•ν•˜κ²Œ ν‘œν˜„ν•  수 있게 ν•΄μ€€λ‹€. λ©”μ„œλ“œλ₯Ό λžŒλ‹€μ‹μœΌλ‘œ ν‘œν˜„ν•˜λ©΄ λ©”μ„œλ“œμ˜ 이름과 λ°˜ν™˜κ°’μ΄ μ—†μ–΄μ§€λ―€λ‘œ, λžŒλ‹€μ‹μ„ '읡λͺ… ν•¨μˆ˜(anonymous function)'라고도 ν•œλ‹€. 즉, λžŒλ‹€μ‹μœΌλ‘œ 인해 λ©”μ„œλ“œλ₯Ό λ³€μˆ˜μ²˜λŸΌ λ‹€λ£¨λŠ” 것이 κ°€λŠ₯해진 것이닀. ● λžŒλ‹€μ‹ μž‘μ„±ν•˜κΈ° int max(int a, int b) { return a > b ? a : b; } λ©”μ„œλ“œμ—μ„œ 이름과 λ°˜ν™˜νƒ€μž…μ„ μ œκ±°ν•˜κ³  λ§€κ°œλ³€μˆ˜ 선언뢀와 λͺΈν†΅{} 사이에 '->'λ₯Ό μΆ”κ°€ν•˜κΈ°λ§Œ ν•˜λ©΄ λœλ‹€. (int a, int b) -> { return a > b ? a : b; }..

ν”„λ‘ νŠΈμ—”λ“œ μ—”μ§€λ‹ˆμ–΄
'Backend/Java' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘