๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

๐Ÿš€ Development/Kotlin2

[์ฝ”ํ‹€๋ฆฐ] ํ”„๋กœํผํ‹ฐ property ๋ž€?(๊ฒŒํ„ฐ getter & ์„ธํ„ฐ setter) ํด๋ž˜์Šค๋ผ๋Š” ๊ฐœ๋…์˜ ๋ชฉ์ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์บก์Аํ™”ํ•˜๊ณ  ์บก์Аํ™”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ์ฝ”๋“œ๋ฅผ ํ•œ ์ฃผ์ฒด ์•„๋ž˜ ๊ฐ€๋‘๋Š” ๊ฒƒ์ด๋‹ค. ์ž๋ฐ”์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•„๋“œ์— ์ €์žฅํ•˜๋ฉฐ, ๋ฉค๋ฒ„ ํ•„๋“œ์˜ ๊ฐ€์‹œ์„ฑ์€ ๋ณดํ†ต ๋น„๊ณต๊ฐœ๋‹ค. ํด๋ž˜์Šค๋Š” ์ž์‹ ์„ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ทธ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ํ†ต๋กœ๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” ์ ‘๊ทผ์ž ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๋ณดํ†ต์€ ํ•„๋“œ๋ฅผ ์ฝ๊ธฐ ์œ„ํ•œ ๊ฒŒํ„ฐ(getter)๋ฅผ ์ œ๊ณตํ•˜๊ณ  ํ•„๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฒŒ ํ—ˆ์šฉํ•ด์•ผ ํ•  ๊ฒฝ์šฐ ์„ธํ„ฐ(setter)๋ฅผ ์ถ”๊ฐ€ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœํผํ‹ฐ property ์ž๋ฐ”์—์„œ๋Š” ํ•„๋“œ์™€ ์ ‘๊ทผ์ž๋ฅผ ํ•œ๋ฐ ๋ฌถ์–ด ํ”„๋กœํผํ‹ฐ๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ํ”„๋กœํผํ‹ฐ๋ผ๋Š” ๊ฐœ๋…์„ ํ™œ์šฉํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋งŽ๋‹ค. ์ฝ”ํ‹€๋ฆฐ์€ ํ”„๋กœํผํ‹ฐ๋ฅผ ์–ธ์–ด ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์œผ๋กœ ์ œ๊ณตํ•˜๋ฉฐ, ์ฝ”ํ‹€๋ฆฐ ํ”„๋กœํผํ‹ฐ๋Š” ์ž๋ฐ”์˜ ํ•„๋“œ์™€ ์ ‘๊ทผ์ž ๋ฉ”์„œ๋“œ๋ฅผ ์™„์ „ํžˆ ๋Œ€์‹ ํ•œ๋‹ค. ํด๋ž˜์Šค์—์„œ ํ”„๋กœํผํ‹ฐ๋ฅผ ์„ ์–ธํ•  ๋•Œ๋Š” ๋ณ€์ˆ˜๋ฅผ .. 2023. 5. 26.
์ฝ”ํ‹€๋ฆฐ Kotlin ์ด๋ž€? ์ฝ”ํ‹€๋ฆฐ (Kotlin)์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์ฝ”ํ‹€๋ฆฐ์€ ์ž๋ฐ” ํ”Œ๋žซํผ์—์„œ ๋Œ์•„๊ฐ€๋Š” ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค. ์ฝ”ํ‹€๋ฆฐ์€ ๊ฐ„๊ฒฐํ•˜๊ณ  ์‹ค์šฉ์ ์ด๋ฉฐ, ์ž๋ฐ” ์ฝ”๋“œ์™€์˜ ์ƒํ˜ธ์šด์šฉ์„ฑ์„ ์ค‘์‹œํ•œ๋‹ค. ํ˜„์žฌ ์ž๋ฐ”๊ฐ€ ์‚ฌ์šฉ ์ค‘์ธ ๊ณณ์ด๋ผ๋ฉด ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„ ์ฝ”ํ‹€๋ฆฐ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ ์„œ๋ฒ„ ๊ฐœ๋ฐœ, ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ฐœ๋ฐœ ๋“ฑ์˜ ๋ถ„์•ผ์—์„œ ์ฝ”ํ‹€๋ฆฐ์„ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์ฝ”ํ‹€๋ฆฐ ๋ง›๋ณด๊ธฐ name๊ณผ age๋ผ๋Š” ํ”„๋กœํผํ‹ฐ๊ฐ€ ๋“ค์–ด๊ฐ„ ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค(data calss)๋ฅผ ์ •์˜ํ•œ๋‹ค. age ํ”„๋กœํผํ‹ฐ์˜ ๋””ํดํŠธ ๊ฐ’์€ (๋”ฐ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ) null์ด๋‹ค. maxBy ํ•จ์ˆ˜์—์„œ ์—˜๋น„์Šค ์—ฐ์‚ฐ์ž๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ?: ๋Š” age๊ฐ€ null์ธ ๊ฒฝ์šฐ 0์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ age์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. data class Person(val name: String, val .. 2023. 5. 17.
728x90
๋ฐ˜์‘ํ˜•