๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ’Š Java & Kotlin & Spring/- Java & kotlin

[Java ์‹ฌํ™”] ์ถ”์ƒํ™”์— ๋Œ€ํ•œ ์‹ฌ์˜คํ•œ ๊ณ ์ฐฐ.

by Wonit 2019. 12. 23.
์ด ๊ธ€์€ ์ถ”์ƒํ™”์— ๋Œ€ํ•œ ๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ๊ณผ ์Šคํ”„๋ง ์ž…๋ฌธ์„ ์œ„ํ•œ ์ž๋ฐ” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์›๋ฆฌ์™€ ์ดํ•ด - ๊น€์ข…๋ฏผ ์ €๋ฅผ ์ฝ๊ณ  ๋‚˜์„œ ๋Š๋‚€ ๊ฐ์ •์„ ์˜ˆ์ˆ ์ ? ๋ฌธํ•™์ ? ์œผ๋กœ ์ ‘๊ทผํ•˜์—ฌ ๋ณธ์ธ์˜ ์ƒ๊ฐ๊ณผ ๊น€์ข…๋ฏผ ๊ฐœ๋ฐœ์ž์˜ ์ƒ๊ฐ์„ ์ถ”ํ•ฉํ•˜์—ฌ ์ •๋ฆฌํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค.

 

Abstraction VS Abstract Art

 

์ œ๋ชฉ์—์„œ ์“ฐ์ธ Abstraction์€ Computer Science์—์„œ ๋ง ํ•˜๋Š” ์ถ”์ƒํ™”์˜ ๊ฐœ๋…์ด๊ณ  Abstract Art๋Š” ํ”ผ์นด์†Œ๊ฐ€ ์ž˜ ํ•˜์˜€๋˜ ์ถ”์ƒ ๋ฏธ์ˆ ์˜ ์ถ”์ƒํ™” ์ด๋‹ค.

 

์ ์  ํ•™์Šต์„ ํ•˜๋‹ค ๋ณด๋‹ˆ, ์ด ๋‘˜์€ ์ „ํ˜€ ๋‹ค๋ฅธ ๋ถ„์•ผ์˜ ์šฉ์–ด์ง€๋งŒ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์“ฐ์ด๊ฒŒ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

๋ฌผ๋ก  ๋œป์ด๋ผ๋Š”๊ฒŒ ๊ฐ™์€ ๋ฟŒ๋ฆฌ์—์„œ ๋‚˜์™€ ๋น„์Šทํ•œ ๋Š๋‚Œ์˜ ์˜๋ฏธ๋ฅผ ์ „๋‹ฌํ•˜๊ธด ํ•˜์ง€๋งŒ, Computer Science์—์„œ ๊ฐ€์žฅ ์ž˜ ๋“ค์–ด๋งž๋Š”๊ฒƒ ์ค‘์— ํ•˜๋‚˜๊ฐ€ ์ถ”์ƒํ™”๊ฐ€ ์•„๋‹๊นŒ๋ผ๋Š” ์ƒ๊ฐ์„ ํ•œ๋‹ค.

 

๋‹ค์Œ ๊ทธ๋ฆผ์„ ๋ด๋ณด์ž.

 

 
์ด๋Ÿฐ ๋‚œํ•ดํ•œ ๊ทธ๋ฆผ์„ ์ถ”์ƒํ™”๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๋‚˜๋Š” ์ด์ œ์„œ์•ผ ์ถ”์ƒํ™”์˜ ์ง„์ •ํ•œ ๊ฐ€์น˜๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด ๊ธ€์„ ๋๊นŒ์ง€ ์ฝ๊ณ  ๋‚œ๋‹ค๋ฉด ์ „ํ˜€ ๋‚œํ•ดํ•œ ๊ทธ๋ฆผ์ด ์•„๋‹ˆ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

 

์œ„ ๊ทธ๋ฆผ์—์„œ ๋ฌด์—‡์ด ๋ณด์ด๋Š”๊ฐ€? ํ•„์ž๋Š” ๋งŽ์€ ๊ฒƒ๋“ค์ด ๋ณด์ด์ง€๋งŒ 3๊ฐ€์ง€๊ฐ€ ๋ณด์ธ๋‹ค.

 

  1. ๋ฐ”์˜๊ฒŒ ์‚ด์•„๊ฐ€๋Š” ํ˜„๋Œ€ ์‚ฌํšŒ
  2. ์ƒˆ๋“ค์˜ ์™•๊ตญ
  3. ๋ชธ ์†์˜ ์„ธํฌ

 

์ด๊ฒƒ์€ ์ˆœ์ „ํžˆ ๋‚˜์˜ ๊ธฐ์ค€์—์„œ ์ž‘์„ฑ๋œ ๊ธ€์ด๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ€ํ•œ ๋‚ด๊ฐ€ ๋˜๋ ค๊ณ  ์ดํ•ด์‹œ์ผœ๋ณด๊ฒ ๋‹ค.

 

  1. ๋ฐ”์˜๊ฒŒ ์‚ด์•„๊ฐ€๋Š” ํ˜„๋Œ€ ์‚ฌํšŒ

์›€์ง์ด๋Š” ์ƒ๋ฌผ๋“ค์€ ๊ฒ€์ •์ƒ‰์œผ๋กœ ํ‘œํ˜„์ด ๋˜์—ˆ๊ณ  X์ถ• Y์ถ•์ด (30, 20)์ด ๋˜๋Š” ๊ทธ๋ฆผ์ด๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, (0, 20)์— ๋ฐ”ํ€ด๋ฒŒ๋ ˆ ํ•œ ๋งˆ๋ฆฌ๊ฐ™์€ ์ƒ๋ฌผ์ด ์—ด์‹ฌํžˆ ๋ฌด์–ธ๊ฐ€๋ฅผ ํ•˜๊ณ  ์žˆ๋Š” ๋ชจ์Šต์ด ํ˜„๋Œ€์ธ๊ณผ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

  1. ์ƒˆ๋“ค์˜ ์™•๊ตญ

์ด ๊ทธ๋ฆผ์—๋Š” ๊ณต์ž‘์ƒˆ๋“ค์ด ์ •๋ง ๋งŽ๋‹ค. ๊ณต์ž‘์ƒˆ๋„ ์žˆ๊ณ  ์ขŒ์ธก ํ•˜๋‹จ์— ์†Œ ํ•œ๋งˆ๋ฆฌ๊ฐ€ ์žˆ๊ณ , ์˜ค๋ฆฌ๋„ ์žˆ๋Š” ๋ชจ์Šต์ด ์ƒˆ๋“ค์˜ ์™•๊ตญ์ด๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

  1. ๋ชธ ์†์˜ ์„ธํฌ

์šฐ๋ฆฌ ๋ชธ ์†์—๋Š” ํ”ผ์™€ ์„ธํฌ๊ฐ€ ์žˆ์œผ๋ฉฐ ์„ธ๊ท ๋“ค ๋˜ํ•œ ์กด์žฌํ•œ๋‹ค. ๋ชธ์— ์„ธ๊ท ์ด ๋“ค์–ด์™”์„ ๋•Œ ํ•ญ์ฒด๋“ค์ด ์—ด์‹ฌํžˆ ๊ฒ€์ •์ƒ‰ ์„ธ๊ท ๋“ค๊ณผ ์‹ธ์›€์„ ๋ฒŒ์ด๋Š” ๊ณผ์ •์ด๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

 

๋‚˜๋Š” ์ง€๊ธˆ ๋…์ž๋“ค์„ ์ดํ•ด์‹œํ‚ค๋ ค๊ณ  ๋…ธ๋ ฅํ•˜์˜€๊ณ , ์ดํ•ด๊ฐ€ ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.. ใ…Žใ…Ž. ๊ทธ๋Ÿผ ๋‚˜๋Š” ์ง€๊ธˆ ํ•œ ๊ฐ€์ง€์˜ ๊ทธ๋ฆผ์—์„œ 3๊ฐ€์ง€์˜ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋ฏธ์ˆ ํ’ˆ์„ ๋งŒ๋“ค์–ด ๋ƒˆ๋‹ค.

 

์ด๋ฅผ Computer Science ์šฉ์–ด๋กœ ๋ชจ๋ธ๋ง์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๋‚˜๋Š” ์ถ”์ƒํ™”๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ธ ๊ฐ€์ง€์˜ ๊ทธ๋ฆผ์„ ๋ชจ๋ธ๋งํ•˜์˜€๋‹ค.

 

์ด๊ฒƒ์ด ๋ฐ”๋กœ ์ถ”์ƒํ™” ์ด๋‹ค.

 

๊ทธ๋Ÿผ ์ถ”์ƒํ™”์˜ ๋Œ€๊ฐ€์ธ ํ”ผ์นด์†Œ๋ฅผ Computer Science์— ์„ธ๊ณ„๋กœ ์ธ๋„ํ•ด๋ณด์ž.

 

์œ„ ๊ทธ๋ฆผ์€ ํ”ผ์นด์†Œ๊ฐ€ ์†Œ๋ผ๋Š” ์ƒ๋ฌผ์„ ์ถ”์ƒํ™” ํ•˜์—ฌ ์„ ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์ค€๋‹ค.

 

ํ”ผ์นด์†Œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ•˜๋Š” ๋ชจ๋ธ๋ง์„ ์—ญ์œผ๋กœ ํ•˜์—ฌ ํ•˜๋‚˜์˜ ๊ฐ์ฒด์—์„œ ์„ ์œผ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค.

 

ํ”ผ์นด์†Œ๋Š” ๋„ˆ๋ฌด๋‚˜๋„ ๋Œ€๋‹จํ•˜๊ณ  ์•„์ฃผ ๊ฐ•๋ ฅํ•œ ์—ญ์ถ”์ƒํ™”๋ฅผ ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ์†Œ๋ผ๋Š” ๊ฒƒ์„ ๋ˆ„๊ตฌ๋‚˜ ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ ์ € ์„ ์—์„œ ์†Œ๊ฐ€ ์•„๋‹Œ ๋ง์ด ๋‚˜์˜ฌ ์ˆ˜ ๋„ ์žˆ๊ณ , ๋…์ˆ˜๋ฆฌ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค. 

 

์ด์ œ ํ”ผ์นด์†Œ๋Š” ์ € ์„ ์„ ๊ฐ€์ง€๊ณ  ๋‹ญ๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ์ƒ์–ด๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ๋‹ค๋ฅธ ์ƒ๋ฌผ๋“ค ๊นŒ์ง€ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”, ์ฆ‰ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ์…จ๋‹ค.

๊ฒฐ๋ก ์€ ์ถ”์ƒํ™”๋Š” ๋ชจ๋ธ๋ง์„ ํ•˜๋Š” ๊ณผ์ •์ด๊ณ  ์ถ”์ƒํ™”์˜ ๊ฒฐ๊ณผ๋กœ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํด๋ž˜์Šค๊ฐ€ ๋‚˜์˜ฌ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

๋Œ“๊ธ€