๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (454)

Bibi's DevLog ๐Ÿค“๐ŸŽ

[Java] enum (์—ด๊ฑฐํ˜•)

์ž๋ฐ” enum ์ด ๊ธ€์€ '์ž๋ฐ”์˜ ์ •์„' ๋ฐ ๊ตฌ๊ธ€๋ง, ์ˆ˜์—… ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. enum (์—ด๊ฑฐํ˜•) ์ด๋ž€? : ์„œ๋กœ ์—ฐ๊ด€๋œ ์—ฌ๋Ÿฌ ์ƒ์ˆ˜๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•(ํด๋ž˜์Šค). java.lang.Enumํด๋ž˜์Šค๊ฐ€ ๋ชจ๋“  enum์˜ ์กฐ์ƒ ํด๋ž˜์Šค์ด๋‹ค. ์ƒ์ˆ˜๋“ค์˜ ๊ฐ’, ๊ทธ๋ฆฌ๊ณ  ํƒ€์ž…๊นŒ์ง€ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. enum์˜ ํŠน์ง• enum์˜ ์ƒ์„ฑ์ž๋Š” ํ•ญ์ƒ private์ด๋‹ค. ์ฆ‰, enum์˜ ์ƒ์„ฑ์ž๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ private์œผ๋กœ ์„ ์–ธ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์™ธ๋ถ€์—์„œ ํ˜ธ์ถœํ•  ์ˆ˜ ์—†๋‹ค. ์šฐ๋ฆฌ๊ฐ€ enum ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒŒ ์•„๋‹Œ JVM์ด ์ง์ ‘ ๋งŒ๋“ค์–ด ์ฃผ๊ธฐ ๋•Œ๋ฌธ. ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ์„ฑ์ž๊ฐ€ ํ•ญ์ƒ private์ด๋‹ค. enumํด๋ž˜์Šค์˜ enum์ƒ์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋Š” ๋ณดํ†ต final์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐ™์€ en..

[Java] final (ํด๋ž˜์Šค, ๋ฉ”์†Œ๋“œ, ๋ณ€์ˆ˜, ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜)

final ('์ž๋ฐ”์˜ ์‹ ' ์„ ์ฐธ๊ณ ํ•˜๋ฉฐ ๋‚ด์šฉ์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค) ์ž๋ฐ” ์˜ˆ์•ฝ์–ด ์ค‘ ํ•˜๋‚˜์ธ final ์€ ํด๋ž˜์Šค, ๋ฉ”์†Œ๋“œ, ๋ณ€์ˆ˜์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. final ํด๋ž˜์Šค ํด๋ž˜์Šค๋ฅผ final๋กœ ์„ ์–ธ ์‹œ, ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ํ™•์žฅํ•ด์„œ ์“ธ ์ˆ˜ ์—†๋‹ค. (extendsํ•  ์ˆ˜ ์—†๋‹ค) public final class FinalClass() { ... } ์ ‘๊ทผ์ œ์–ด์ž์™€ class ์‚ฌ์ด์— ์ถ”๊ฐ€ํ•œ๋‹ค. ๋” ์ด์ƒ ํ™•์žฅํ•ด์„œ๋Š” ์•ˆ ๋˜๋Š” ํด๋ž˜์Šค์— ์‚ฌ์šฉํ•จ ๋ˆ„๊ตฐ๊ฐ€ ์ด ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์•„ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•จ final ๋ฉ”์†Œ๋“œ ๋ฉ”์†Œ๋“œ๋ฅผ final๋กœ ์„ ์–ธ ์‹œ, ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๋ฅผ Overridingํ•  ์ˆ˜ ์—†๋‹ค. public final void finalMethods() { ... } ๋ˆ„๊ตฐ๊ฐ€ ์ด ๋ฉ”์†Œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด ๋ฎ์–ด์“ฐ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•จ f..

[Java] this์™€ this()

this์™€ this() (์ด ๋‚ด์šฉ์€ ''์ž๋ฐ”์˜ ์ •์„''์„ ์ฐธ๊ณ ํ•ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.๐Ÿ™‡‍โ™€๏ธ) this์™€ this()๋Š” ๋น„์Šทํ•ด ๋ณด์ด์ง€๋งŒ ์ „ํ˜€ ๋‹ค๋ฅธ ๊ฒƒ์ด๋‹ค. ์š”์•ฝํ•˜์ž๋ฉด this๋Š” "์ฐธ์กฐ ๋ณ€์ˆ˜"์ด๊ณ , this()๋Š” ์ƒ์„ฑ์ž์ด๋‹ค. this ์ธ์Šคํ„ด์Šค ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๋ณ€์ˆ˜์ด๋‹ค. ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜์™€ ์ƒ์„ฑ์ž์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์ด ๊ฐ™์„ ๋•Œ, ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฐ” ์˜ˆ์•ฝ์–ด์ด๋‹ค. ์ธ์Šคํ„ด์Šค์˜ ์ฃผ์†Ÿ๊ฐ’์ด ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. this๋Š” ๋ชจ๋“  ์ƒ์„ฑ์ž์™€ ์ธ์Šคํ„ด์Šค๋ฉ”์†Œ๋“œ์— ์ง€์—ญ๋ณ€์ˆ˜๋กœ ์ˆจ๊ฒจ์ ธ ์žˆ๋‹ค. โ€ป this๋Š” ์ธ์Šคํ„ด์Šค ๋ฉค๋ฒ„๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. this() ๋˜๋Š” this(๋งค๊ฐœ๋ณ€์ˆ˜) ๊ฐ™์€ ํด๋ž˜์Šค์˜ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ๋ฌธ์ด๋‹ค. ์ƒ์„ฑ์ž ๊ฐ„์— ์„œ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด ์ƒ์„ฑ์ž ์ด๋ฆ„์œผ๋กœ..

[Java] List ๋ฆฌ์ŠคํŠธ = ArrayList ๋กœ ์„ ์–ธํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

List ๋ฆฌ์ŠคํŠธ = ArrayList ๋กœ ์„ ์–ธํ•˜๋Š” ์ด์œ  ์ถœ์ฒ˜ : List์™€ ArrayList, ์—…์บ์ŠคํŒ…์„ ํ•˜๋Š” ์ด์œ  . ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค๐Ÿ‘ List list = new ArrayList();` `ArrayList list = new ArrayList(); ๋Œ€๋ถ€๋ถ„์˜ ArrayList๋Š” ์•„๋ž˜๋ณด๋‹จ ์œ„์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์„ ์–ธํ•˜์—ฌ ์‚ฌ์šฉ๋œ๋‹ค. ArrayList์™€ ๊ฐ™์€ ๊ตฌํ˜„์ฒด ํด๋ž˜์Šค๊ฐ€ ์•„๋‹Œ, List๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์„ ์–ธํ•˜๋Š” ์‹์ด๋‹ค. ์œ„์™€ ๊ฐ™์ด ์ฝ”๋”ฉํ•˜๋Š” ๊ฒƒ์„ ๋งŽ์ด ๋ณด๊ธฐ๋„ ํ–ˆ๊ณ , ์˜ค๋Š˜ ํ”ผ๋“œ๋ฐฑ๋„ ๋ฐ›์•„์„œ ์™œ ArrayList๋ฅผ ์ฃผ๋กœ ์ €๋ ‡๊ฒŒ ์—…์บ์ŠคํŒ…ํ•ด์„œ ์„ ์–ธํ•˜๋Š”์ง€ ๊ทธ ์ด์œ ๋ฅผ ์•Œ์•„๋ณด์•˜๋‹ค. ์š”์•ฝ : ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ผํ™˜์œผ๋กœ, ๋‹คํ˜•์„ฑ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ณ€๊ฒฝ์— ์œ ์—ฐํ•œ ๊ตฌ์กฐ๋กœ ๋ฏธ๋ฆฌ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค ์˜ˆ๋ฅผ ๋“ค์–ด..

[Git] ์ปค๋ฐ‹๋ฉ”์‹œ์ง€ ์ˆ˜์ •ํ•˜๋Š” ๋ฒ•

๊นƒ ์ปค๋ฐ‹๋ฉ”์‹œ์ง€ ์ˆ˜์ •ํ•˜๊ธฐ ์ถœ์ฒ˜ : ๊นƒ ์ปค๋ฐ‹๋ฉ”์‹œ์ง€ ์ˆ˜์ •. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค๐Ÿ™‡‍โ™€๏ธ 1.์•„์ง ์ปค๋ฐ‹์ด ๋กœ์ปฌ์ €์žฅ์†Œ์— ์žˆ์„ ๋•Œ ๋กœ์ปฌ ์ €์žฅ์†Œ์—์„œ ์ปค๋ฐ‹์€ ํ–ˆ์ง€๋งŒ, push๋Š” ์•„์ง ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์ปค๋ฐ‹ ์ˆ˜์ •ํ•˜๊ธฐ git commit --amend ๋” ์˜ค๋ž˜๋œ ์ปค๋ฐ‹ ์ˆ˜์ •ํ•˜๊ธฐ, ๋˜๋Š” ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ์ปค๋ฐ‹ ์ˆ˜์ •ํ•˜๊ธฐ git log๋กœ ์ปค๋ฐ‹๋‚ด์—ญ์„ ๋ณด๋ฉฐ ์–ด๋–ค ์ปค๋ฐ‹์„ ์ˆ˜์ •ํ• ์ง€ ํ™•์ธํ•œ๋‹ค. git rebase -i HEAD~์ˆซ์ž : ํ˜„์žฌ ๋ธŒ๋žœ์น˜์—์„œ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์ปค๋ฐ‹ ์ˆซ์ž๊ฐœ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. vim์ด ์—ด๋ฆฌ๊ณ  ์ตœ๊ทผ ์ปค๋ฐ‹๋“ค์ด ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜ํƒ€๋‚œ๋‹ค. pick e499d89 Delete CNAME pick 0c39034 Better README pick f7fde4a Change the commit message but push the same com..

๋ชจ๋“ˆ์ด๋ž€?

๋ชจ๋“ˆ modul ์ถœ์ฒ˜ : ๋ชจ๋“ˆ module ์ด๋ž€?. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค๐Ÿ™‡‍โ™€๏ธ ๋ชจ๋“ˆ์€ ํ•œ ๊ฐ€์ง€ ์ผ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์  ๊ตฌ์„ฑ์š”์†Œ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋” ์ž‘๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์œ„๋กœ ๋‚˜๋‰˜์–ด์ง„ ๊ฒƒ. ๊ทธ ์ž์ฒด๋กœ ํ•˜๋‚˜์˜ ์™„์ „ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ๋œ ์‹ค์ฒด ๋ณธ์ฒด์—์„œ ๋ถ„๋ฆฌ๋˜์–ด ์ž‘์€ ๋ถ€๋ถ„์œผ๋กœ ์œ ๊ธฐ์ ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค๊ฐ€, ํ•„์š”ํ•  ๋•Œ ๋ณธ์ฒด์— ํ•ฉ๋ฅ˜ํ•˜์—ฌ ๊ทธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๋ชจ๋“ˆ์˜ ํŠน์ง• Unity(ํ•œ ๊ฐ€์ง€ ์ผ๋งŒ ์ˆ˜ํ–‰), Smallness(๊ฐ„๋‹จ๋ช…๋ฃŒ), Simplicity(๋‹จ์ˆœ์„ฑ), Independency(๋…๋ฆฝ์„ฑ) ์ด ์žˆ๋‹ค. ๋ชจ๋“ˆํ™”์˜ ์žฅ์  ์ˆ˜์ •, ์žฌ์‚ฌ์šฉ์„ฑ, ์œ ์ง€๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•˜๋‹ค