์ „์ฒด ๊ธ€

๐Ÿ ๊ธฐํƒ€/์ฝ”๋“œํ”„๋ ˆ์†Œ ์ฒดํ—˜๋‹จ_BE

[Java] ์ƒ์†(Inheritance) | ์˜ค๋ฒ„๋ผ์ด๋”ฉ | ๋‹คํ˜•์„ฑ

์ƒ์† (inheritance) ์ผ๋ฐ˜ํ™”๋œ ํด๋ž˜์Šค๋ฅผ ์žฌ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด specific ํ•œ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ ์ƒ์†์„ ํ•˜๋Š” ํด๋ž˜์Šค(User)๋ฅผ '๋ถ€๋ชจ(Parent) ํด๋ž˜์Šค, ์ƒ์œ„(Super) ํด๋ž˜์Šค, ๊ธฐ๋ฐ˜(Base) ํด๋ž˜์Šค'๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ณ , ์ƒ์†์„ ๋ฐ›๋Š” ํด๋ž˜์Šค(PaidUser)๋ฅผ '์ž์‹(Child) ํด๋ž˜์Šค, ํ•˜์œ„(Sub) ํด๋ž˜์Šค, ํŒŒ์ƒ(Derived) ํด๋ž˜์Šค'๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. - ์ž์‹ ํด๋ž˜์Šค๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ชจ๋“  ๋ฉค๋ฒ„๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค (But, Java๋Š” ๋‹จ์ผ์ƒ์†๋งŒ ํ—ˆ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ๋งŒ ์ƒ์†์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค) - ์ƒ์†์„ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ž˜์Šค ๊ฐ„์˜ ๊ณ„์ธต์  ๋ถ„๋ฅ˜(hierarchical classifications)๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค โ–ท Java์—์„œ๋Š” extends๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„..

๐Ÿ ๊ธฐํƒ€/์ฝ”๋“œํ”„๋ ˆ์†Œ ์ฒดํ—˜๋‹จ_BE

[Java] ํด๋ž˜์Šค | Method | ์ƒ์„ฑ์ž | ์˜ค๋ฒ„๋กœ๋”ฉ

ํด๋ž˜์Šค ๋ญ” ๊ธฐ๋ณธ๋‹จ์œ„, ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์„ค๊ณ„๋„(ํ‹€) - ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ‹€, ํ…œํ”Œ๋ฆฟ, ์„ค๊ณ„๋„ - ๊ฐ์ฒด ์ƒ์„ฑ์„ ์œ„ํ•œ ์ •๋ณด๋“ค์„ (์–ด๋–ค ์†์„ฑ๊ณผ ํ–‰์œ„๋“ค์„ ํฌํ•จํ•  ๊ฒƒ์ธ์ง€์˜ ์ •๋ณด๋ฅผ ํฌํ•จ) โ‰ซ ์ถ”์ƒํ™”(Abstraction) - ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๊ฒƒ๋“ค์„ ์„ ํƒํ•˜๊ณ , ๋ถˆํ•„์š”ํ•œ ๊ฒƒ๋“ค์„ ๋ฒ„๋ฆฌ๋Š” ๊ณผ์ • - ์ถ”์ƒํ™”์˜ ๊ณผ์ • ์ž์ฒด๊ฐ€ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. → ์ฆ‰, ํŠน์ • ๊ฐ์ฒด์— ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ์†์„ฑ๊ณผ ํ–‰์œ„๋ฅผ ์ •์˜ํ•˜๋Š” ๊ณผ์ •์ž„ ํด๋ž˜์Šค ์„ ์–ธ * ๋ณ€์ˆ˜๋Š” ๋ฉค๋ฒ„ ๋ณ€์ˆ˜, ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋ผ๊ณ  ๋ถ€๋ฅด๊ณ , ๋ฉ”์†Œ๋“œ๋Š” ๋ฉ”์†Œ๋“œ, ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. - class ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋‚ด๋ถ€์—๋Š” ๋ณ€์ˆ˜๋“ค๊ณผ ๋ฉ”์†Œ๋“œ๋“ค์ด ์กด์žฌํ•œ๋‹ค. (=ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ผ๊ณ ๋„ ํ•จ) - ํด๋ž˜์Šค ์ด๋ฆ„์€ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ ์ƒ์„ฑ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ๊ฐ€์žฅ ์ž˜ ํ‘œํ˜„ํ•˜๋Š” ๋ช…์‚ฌ ํ˜•ํƒœ์˜ ์˜๋ฏธ์žˆ๋Š”..

๐Ÿ ๊ธฐํƒ€/์ฝ”๋“œํ”„๋ ˆ์†Œ ์ฒดํ—˜๋‹จ_BE

[Git] GitFlow | ๋ธŒ๋žœ์น˜ ํ™œ์šฉ ์ „๋žต

GitFlow๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ์— ์•ž์„œ ๋ธŒ๋žœ์น˜ ํ™œ์šฉ ์ „๋žต ์ข…๋ฅ˜์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์•Œ์•„๋ณด์ž. โ–ถ Git์˜ ๋ธŒ๋žœ์น˜ ํ™œ์šฉ ์ „๋žต ๋ชจ๋ธ - feature ๋ณ„ branch - ๊ฐœ๋ฐœ์ž๋ณ„ branch - ์Šคํ”„๋ฆฐํŠธ ์ฃผ๊ธฐ๋ณ„ branch - ์‚ฌ๋‚ด ๊ฒ€์ฆ ๋‹จ๊ณ„๋ณ„ branch - · · · - GitFlow Git์˜ ๋ธŒ๋žœ์น˜ ํ™œ์šฉ ์ „๋žต ์ค‘ ํ•˜๋‚˜์ธ GitFlow์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์ž. GitFlow ๋ชจ๋ธ์€ ๋‹ค์„ฏ๊ฐ€์ง€ ๋ธŒ๋žœ์น˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ์ ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค. ํ•˜๋‚˜์”ฉ ์•Œ์•„๋ณด์ž. master branch : ์‹ค์ œ ๊ณ ๊ฐ์—๊ฒŒ ๋ฆด๋ฆฌ์ฆˆ ๋˜๋Š” ๋ธŒ๋žœ์น˜ - ๊ณ ๊ฐ์—๊ฒŒ ์ „๋‹ฌ ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€์˜ ์ปค๋ฐ‹๋งŒ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค. - ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์€ ๊ฒฐ๊ตญ master๋กœ ์ตœ์ข… ๋ฐ˜์˜๋˜์–ด์•ผ ํ•œ๋‹ค. develop branch : ๋‹ค์Œ ๋ฐฐํฌํ•  ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜ - ์‹ค์ œ ๊ฐœ๋ฐœ์˜ ์ค‘์‹ฌ์ด ๋˜๋Š”..

๐Ÿ ๊ธฐํƒ€/์ฝ”๋“œํ”„๋ ˆ์†Œ ์ฒดํ—˜๋‹จ_BE

[Git] Tag์˜ ์ข…๋ฅ˜ ๋ฐ Tag ์ƒ์„ฑํ•˜๊ธฐ

Git์—์„œ Tag๋ž€? ํŠน์ • ์‹œ์ ์˜ ์†Œ์Šค์ฝ”๋“œ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•œ ๊ฒƒ, ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์ค‘ ์˜๋ฏธ์žˆ๋Š” ์‹œ์ ์˜ ์ปค๋ฐ‹์„ ํƒœ๊น…ํ•œ ๊ฒƒ โ‰ซ ์˜๋ฏธ์žˆ๋Š” ์‹œ์ ์ด๋ž€? - 1์ฐจ ๋ชฉํ‘œ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜์—ˆ์„ ๋•Œ, - ๋งค์šฐ ์ค‘์š”ํ•œ ์ด์Šˆ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์„ ๋•Œ, - ๊ณ ๊ฐ์—๊ฒŒ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ฐฐํฌํ•  ๋•Œ ๋“ฑ๋“ฑ Git Tag์˜ ์ข…๋ฅ˜ โ‰ซ Lightweight Tag : ๋ฒ„์ „๋ช…๊ณผ ๊ฐ™์€ ํƒœ๊ทธ๋ช…๋งŒ ๋‚จ๊ธฐ๋Š” ํƒœ๊ทธ $ git tag ํƒœ๊ทธ๋ช… → ํƒœ๊ทธ ์ƒ์„ฑ โ‰ซ Annotated Tag : Git ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ํƒœ๊ทธ๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ์˜ ์ด๋ฆ„, ์ด๋ฉ”์ผ, ํƒœ๊ทธ ์ƒ์„ฑ๋‚ ์งœ ๋“ฑ์„ ์ €์žฅํ•œ ํƒœ๊ทธ $ git tag -a ํƒœ๊ทธ๋ช… -m "ํƒœ๊ทธ๋ฉ”์„ธ์ง€" → ํƒœ๊ทธ ์ƒ์„ฑ โ–ท ๊ฐ„๋‹จํ•˜๊ฒŒ ์˜ˆ์ œ๋กœ ์•Œ์•„๋ณด์ž โ‰ซ $ git tag -a ํƒœ๊ทธ๋ช… -m "ํƒœ๊ทธ๋ฉ”์„ธ์ง€" ๋กœ tag ์ƒ์„ฑ โ‰ซ $ git log ๋กœ ํ™•์ธํ•ด๋ณด์ž ..

๐Ÿ ๊ธฐํƒ€/์ฝ”๋“œํ”„๋ ˆ์†Œ ์ฒดํ—˜๋‹จ_BE

[Git] Branch์˜ ์ดํ•ด | Merge | Conflict ํ•ด๊ฒฐํ•˜๊ธฐ

๊ฐ๊ฐ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ž‘์—…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ณ€๊ฒฝ์ ๋“ค์€ ๋‹ค์‹œ master๋ธŒ๋žœ์น˜๋กœ Merge(๋ณ‘ํ•ฉ)๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ์ˆ˜์ •๋œ ์‚ฌํ•ญ๋“ค์ด ์ตœ์ข… ์ฝ”๋“œ์— ์ ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. Merge ํ•˜๋Š” ๋ฐฉ๋ฒ• = ๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ 1. merge๋ฅผ ์œ„ํ•ด์„œ๋Š” ๊ธฐ์ค€์ด ๋˜๋Š” ๋ธŒ๋žœ์น˜๋กœ์ด๋™ํ•ด์•ผ ํ•œ๋‹ค. [ $ git checkout master ] 2. ํ•ฉ์ณ์งˆ ๋ธŒ๋žœ์น˜๋ฅผ mergeํ•œ๋‹ค. [ $ git merge ๋ธŒ๋žœ์น˜์ด๋ฆ„ ] ↓ ์œ„์— 2๋ฒˆ๊ณผ์ •์—์„œ merge ํ•  ๋•Œ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด Fast-forward ๋ผ๋Š” ๊ฒƒ์ด ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ Fast-forwoard๋ž€, ๋ธŒ๋žœ์น˜์˜ ์œ„์น˜๋งŒ ์ตœ์‹  ์ปค๋ฐ‹์œผ๋กœ ์ด๋™์‹œํ‚ค๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋”ฐ๋ผ์„œ issue๋ฅผ ๋ณ‘ํ•ฉ์‹œํ‚ฌ๋•Œ ๋ธŒ๋žœ์น˜์˜ ์œ„์น˜๊ฐ€ Commit 4์—์„œ Commit 5๋กœ ๋ธŒ๋žœ์น˜์˜ ์œ„์น˜๋งŒ ๋ณ€๊ฒฝ ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ..

๐Ÿ ๊ธฐํƒ€/์ฝ”๋“œํ”„๋ ˆ์†Œ ์ฒดํ—˜๋‹จ_BE

[Git] Branch์˜ ์ดํ•ด | Branch ์ƒ์„ฑ ๋ฐ ์ด๋™ | ์‹ค์Šต

Branch ๋ณธ๋ž˜์˜ ์†Œ์Šค์ฝ”๋“œ๋กœ ๋ถ€ํ„ฐ ํŒŒ์ƒํ•œ ๋…๋ฆฝ์ ์ธ ์ž‘์—… ๊ณต๊ฐ„ โ‰ซ Branch์˜ ํŠน์ง• - ์ตœ์‹  ์ปค๋ฐ‹์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ผ์ข…์˜ ํฌ์ธํ„ฐ ์—ญํ• ์„ ํ•œ๋‹ค. - ๋งค์šฐ ๊ฐ€๋ฒผ์›Œ์„œ ์ƒ์„ฑ, ์ด๋™, ๋ณ‘ํ•ฉ(merge)์ด ๋งค์šฐ ์‰ฝ๋‹ค. - ๋ชฉ์ ์— ๋”ฐ๋ผ ๋ถ„๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค. master Branch - Git์€ ๊ธฐ๋ณธ์ ์œผ๋กœ master ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. - master ๋ธŒ๋žœ์น˜๋Š” ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹์„ ๋งŒ๋“ค์–ด์•ผ ์ƒ์„ฑ๋œ ์ปค๋ฐ‹์„ ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. - ๋”ฐ๋ผ์„œ $ git commit -m "···" ๋ช…๋ น์–ด๋กœ commit์„ ์ƒ์„ฑํ•œ ํ›„, ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด[$ git branch]๋กœ ํ™•์ธํ•ด๋ณด๋ฉด ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ธŒ๋žœ์น˜๋Š” master์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ธŒ๋žœ์น˜ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• โ‰ซ $ git branch ์ƒ์„ฑํ• _๋ธŒ๋žœ์น˜๋ช… ์ž…๋ ฅ โ‰ซ $ git br..

Dhey
dh.log