# [Java] ๋‹คํ˜•์„ฑ(Polymorphism)์— ๋Œ€ํ•ด
Study Repository

[Java] ๋‹คํ˜•์„ฑ(Polymorphism)์— ๋Œ€ํ•ด

by rlaehddnd0422

๋‹คํ˜•์„ฑ์€ ๋งŽ์„ ๋‹ค, ๋ชจ์–‘ ํ˜•์„ ์จ์„œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํ˜•ํƒœ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

์ž๋ฐ”์˜ ๋‹คํ˜•์„ฑ์€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์—์„œ ๋‹ค์Œ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

  • ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆ
  • ํ•˜๋‚˜์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋กœ ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆ

 

์ž๋ฐ”์—์„œ ๋‹คํ˜•์„ฑ์ด ์ค‘์š”ํ•œ ์ด์œ 

  1. ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ : ๋‹คํ˜•์„ฑ์„ ํ†ตํ•ด ํ•˜๋‚˜์˜ ์ธํ„ฐํŽ˜์ด์Šค๋‚˜ ํด๋ž˜์Šค๋ฅผ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.
  2. ์œ ์—ฐ์„ฑ๊ณผ ํ™•์žฅ์„ฑ : ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ ๋„ ์‹œ์Šคํ…œ์— ์‰ฝ๊ฒŒ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ถ”์ƒ ํด๋ž˜์Šค ํ™œ์šฉ : ๋‹คํ˜•์„ฑ์€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ ์„ค๊ณ„ ํŒจํ„ด์„ ์ ์šฉํ•˜๊ณ  ์ฝ”๋“œ์˜ ์ถ”์ƒํ™” ์ˆ˜์ค€์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ๋‹ค์–‘ํ•œ ๊ฐ์ฒด ์ฒ˜๋ฆฌ : ๋‹คํ˜•์„ฑ์„ ํ†ตํ•ด ๊ฐ์ฒด๋“ค์„ ํ†ต์ผ๋œ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ฝ”๋“œ๊ฐ€ ๋ณด๋‹ค ์ผ๋ฐ˜ํ™”๋˜๊ณ  ๊ฐ์ฒด ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ๋‹จ์ˆœํ™”๋ฉ๋‹ˆ๋‹ค.
  5. ๋‹ค์ค‘ ์ƒ์† ๋Œ€์ฒด : ์ž๋ฐ”์—์„œ๋Š” ๋‹ค์ค‘ ์ƒ์†์„ ์ง€์›ํ•˜์ง€ ์•Š์ง€๋งŒ ๋‹คํ˜•์„ฑ์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›์€ ๊ฒƒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋‹ค์ค‘ ์ƒ์†์˜ ์ผ๋ถ€ ๋‹จ์ ์„ ๊ทน๋ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  6. ๋™์  ๋ฐ”์ธ๋”ฉ : ๋‹คํ˜•์„ฑ์„ ์ด์šฉํ•˜๋ฉด ์‹คํ–‰ ์‹œ๊ฐ„์— ๊ฐ์ฒด์˜ ์‹ค์ œ ํƒ€์ž…์— ๋”ฐ๋ผ ๋ฉ”์„œ๋“œ๊ฐ€ ๋™์ ์œผ๋กœ ๋ฐ”์ธ๋”ฉ๋˜๋ฏ€๋กœ ์‹คํ–‰ ์ค‘์— ์œ ์—ฐํ•œ ๋™์ž‘์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ๋‹คํ˜•์„ฑ์€ ์ž๋ฐ”์˜ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํ•ต์‹ฌ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

 

์ด ์ „ ์ƒ์†์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋ฉด์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ธ์Šคํ„ด์Šค ํƒ€์ž…๊ณผ ์ฐธ์กฐ ํƒ€์ž…์„ ์ผ์น˜์‹œ์ผœ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

Parent p = new Parent();
Child c = new Child();

 

์ด๋ ‡๊ฒŒ ์ธ์Šคํ„ด์Šค ํƒ€์ž…๊ณผ ์ฐธ์กฐ ๋ณ€์ˆ˜ ํƒ€์ž…์„ ์ผ์น˜์‹œ์ผœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด์ง€๋งŒ, ์ƒ์†๊ด€๊ณ„์— ์žˆ์„ ๊ฒฝ์šฐ์— ์กฐ์ƒ ํด๋ž˜์Šค ํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๊ฐ€ ์ž์‹ ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜๋„๋ก ํ•˜๋Š”๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Child c = new Child();
// ์ฐธ์กฐ๋ณ€์ˆ˜ - Child 
// ์ธ์Šคํ„ด์Šค ํƒ€์ž… Child
// ์ด๋ ‡๊ฒŒ ์ผ์น˜์‹œ์ผœ์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ 

Parent p = new Child();
// ์ฐธ์กฐ๋ณ€์ˆ˜ - Parent : ๋ถ€๋ชจ ํด๋ž˜์Šค
// ์ธ์Šคํ„ด์Šค ํƒ€์ž… - Child : ์ž์‹ ํด๋ž˜์Šค

 

 

ํƒ€์ž…์„ ์ผ์น˜์‹œ์ผœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋ถ€๋ชจ ํƒ€์ž…์œผ๋กœ ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ผ๊นŒ?

์ƒ์†๊ด€๊ณ„๋ฅผ ๊ฐ–๋Š” Tv (Parent) ํด๋ž˜์Šค์™€ CaptionTv (Child) ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค.

์ด ๋‘ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด๋ ‡๊ฒŒ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Tv t = new CaptionTv(); // (1)
CaptionTv s = new CaptionTv(); // (2)

(1)์˜ ๊ฒฝ์šฐ์—๋Š” ์ธ์Šคํ„ด์Šค ํƒ€์ž…์ด ์ž์‹ ํด๋ž˜์Šค CaptionTv๋ผ๊ณ  ํ•ด๋„ ๋ชจ๋“  ๋ฉค๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์—†๊ณ , ์˜ค์ง ๋ถ€๋ชจ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ๋ฉค๋ฒ„์—๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

+ ์ž์‹ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„์ธ caption() ๋ฉ”์†Œ๋“œ์™€ text์— ๋Œ€ํ•ด ์ ‘๊ทผ ๋ฐ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
+ ํ•˜์ง€๋งŒ ๋งŒ์•ฝ ์ž์‹ ํด๋ž˜์Šค์—์„œ ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ์žฌ์ •์˜(Override)ํ–ˆ๋‹ค๋ฉด ์ž์‹ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
+ ์ž์‹ ํด๋ž˜์Šค์—๋„ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๋ณ€์ˆ˜๊ฐ€ ์žˆ์–ด๋„, ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

(2)์˜ ๊ฒฝ์šฐ์—๋Š” ๋‹น์—ฐํžˆ ์ž์‹ ํด๋ž˜์Šค ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๊นŒ์ง€ ๋ชจ๋‘ ์‚ฌ์šฉ ๋ฐ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

๋‹คํ˜•์„ฑ์„ ์‚ฌ์šฉํ•œ ์˜ˆ์‹œ

List<String> lists = new ArrayList<String>;
Map<String, String> m = new HashMap<String,String>();

๋‹คํ˜•์„ฑ์„ ํ™œ์šฉํ•˜์—ฌ ์ฐธ์กฐ ํƒ€์ž…์„ ๋ถ€๋ชจ ํƒ€์ž…์œผ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ ์˜์กด๋„๋ฅผ ๋‚ฎ์ถ”๊ณ  ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ HashMap์„ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ConcurrentHashMap์œผ๋กœ ๋ฐ”๊พธ์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ์•„๋ž˜์™€ ๊ฐ™์ด ๋‹คํ˜•์„ฑ์„ ํ™œ์šฉํ•˜์ง€ ์•Š๊ณ  ์ฝ”๋“œ๋ฅผ ์ง ๋‹ค๋ฉด, 

HashMap์—๋งŒ ์ง€์›ํ•˜๊ณ  ConcurrentHashMap์— ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ๋ถ€๋ถ„์„ ๊ฐˆ์•„์—Ž์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

HashMap<String, String> m = new HashMap<String,String>(); // ๋ณ€๊ฒฝ ์ „
ConcurrentHashMap<String, String> m = new ConcurrentHashMap<String,String>(); // ๋ณ€๊ฒฝ ํ›„

ํ•˜์ง€๋งŒ ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ๋ถ€๋ชจ ํด๋ž˜์Šค์— ์˜์กดํ•˜์—ฌ ์ƒ์„ฑํ•œ ๊ฒฝ์šฐ ๋ถ€๋ชจ ํด๋ž˜์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฉค๋ฒ„์—๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—

1) ์œ ์—ฐํ•œ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๊ณ , 2) HashMap์—๋งŒ ์ง€์›ํ•˜๊ณ  ConcurrentHashMap์—๋Š” ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒํ™ฉ ์ž์ฒด๋ฅผ ๋ง‰์•„์ค๋‹ˆ๋‹ค.

+ ์ž์‹ ํด๋ž˜์Šค์—์„œ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•œ ๋ฉ”์†Œ๋“œ๋Š” ์ž์‹ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์ ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฑ์ •ํ•  ํ•„์š” X

์ด๋Ÿฐ ์ด์œ ๋กœ ๋‹คํ˜•์„ฑ์„ ์ด์šฉํ•ด ๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ์•„์ ธ, ์œ ์ง€๋ณด์ˆ˜์˜ ์žฅ์ ์„ ์–ป์—ˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Map<String, String> m = new HashMap<String,String>(); // ๋ณ€๊ฒฝ ์ „
Map<String, String> m = new ConcurrentHashMap<String,String>(); // ๋ณ€๊ฒฝ ํ›„

 

์ž์‹ ํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋กœ ๋ถ€๋ชจ ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅ

CaptionTv s = new Tv(); // error

์ž์‹ ํƒ€์ž…์„ ์ฐธ์กฐ๋ณ€์ˆ˜๋กœ, ๋ถ€๋ชจ ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์™œ๋ƒํ•˜๋ฉด ์ž์‹ ํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๊ฐ€ ๋ถ€๋ชจ ํƒ€์ž…๋ณด๋‹ค ๋ฉค๋ฒ„ ๊ฐœ์ˆ˜๊ฐ€ ๋” ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋ถ€๋ชจ๊ฐ€ ์ž์‹๋ณด๋‹ค ๋ฉค๋ฒ„๊ฐ€ ๋” ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋ชจ๋Š” ์ž์‹์„ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ (๋ฌผ๋ก  ์ž์‹ ๋ฉค๋ฒ„๋ฅผ ์‚ฌ์šฉ ๋ฐ ์ ‘๊ทผํ•˜์ง„ ๋ชปํ•จ),

์ž์‹์€ ๋ถ€๋ชจ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ( ์ž์‹ ํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ–ˆ๋Š”๋ฐ ์ž์‹ ํƒ€์ž…์˜ ๋ฉค๋ฒ„๋ฅผ ์ ‘๊ทผ/์‚ฌ์šฉ ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ง๋„ ์•ˆ๋˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปดํŒŒ์ผ ์—๋Ÿฌ๋กœ ์ด๋Ÿฐ ์ƒํ™ฉ์„ ๋ง‰์€ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค )

 

<์š”์•ฝ>

  1. ๋ถ€๋ชจ ํƒ€์ž…์˜ ์ฐธ์กฐ ๋ณ€์ˆ˜๋กœ ์ž์‹ ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    1. ์ด ์„ฑ์งˆ์„ ์ด์šฉํ•ด ๊ฐ์ฒด๊ฐ„ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๊ณ , ์˜์กด์„ฑ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜์˜ ์žฅ์ ๊ณผ ๋‹ค๋ฅธ ์ฝ”๋“œ์˜ ๋ณ€ํ™”๋ฅผ ๋งŒ๋“ค์–ด๋‚ด์ง€ ์•Š์•„๋„ ๋˜์–ด ์ƒ์‚ฐ์„ฑ์ด ๋†’์•„์ง€๋Š”๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    2. ์ด ๊ฒฝ์šฐ ๋งŒ์•ฝ ์ž์‹ ํด๋ž˜์Šค์—์„œ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•œ ๊ฒฝ์šฐ, ์ž์‹ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
    3. ์ด ๊ฒฝ์šฐ ๋งŒ์•ฝ ์ž์‹ ํด๋ž˜์Šค์—๋„ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์งˆ ๊ฒฝ์šฐ, ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  2. ์ž์‹ ํƒ€์ž…์˜ ์ฐธ์กฐ ๋ณ€์ˆ˜๋กœ ๋ถ€๋ชจ ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

<์ฐธ๊ณ  ์ž๋ฃŒ>

 

[ JAVA ] ๋‹คํ˜•์„ฑ์ด๋ž€?

๋‹คํ˜•์„ฑ์ด๋ž€? ๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋…์—์„œ๋Š” '์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํ˜•ํƒœ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ'์„ ์˜๋ฏธํ•œ๋‹ค. Java์—์„œ๋Š” ํ•œ ํƒ€์ž…์˜ ์ฐธ์กฐ ๋ณ€์ˆ˜๋กœ ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ์œผ๋กœ์จ ๋‹คํ˜•์„ฑ์„ ํ”„๋กœ๊ทธ๋žจ์ ์œผ

dev-cini.tistory.com

 

๋ธ”๋กœ๊ทธ์˜ ์ •๋ณด

Study Repository

rlaehddnd0422

ํ™œ๋™ํ•˜๊ธฐ