CodeGym /ํ–‰๋™ /All lectures for KO purposes /๏ปฟ์บก์Šํ™”์˜ ์›๋ฆฌ

๏ปฟ์บก์Šํ™”์˜ ์›๋ฆฌ

All lectures for KO purposes
๋ ˆ๋ฒจ 1 , ๋ ˆ์Šจ 667
์‚ฌ์šฉ ๊ฐ€๋Šฅ
์•ˆ๋…•! ์˜ค๋Š˜์˜ ์ˆ˜์—…์„ ์บก์Šํ™”์— ํ• ์• ํ•˜๊ณ  ์˜ˆ์ œ๋กœ ๋ฐ”๋กœ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. :) ์—ฌ๊ธฐ ํ‰๋ฒ”ํ•œ ์†Œ๋‹ค ๊ธฐ๊ณ„๊ฐ€์บก์Šํ™”์˜ ์›๋ฆฌ - 1 ์žˆ์Šต๋‹ˆ๋‹ค . ํ•œ ๊ฐ€์ง€ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ? ์ปต์˜ ์ถœ์ฒ˜, ๋‚ด๋ถ€ ์˜จ๋„๋Š” ์–ด๋–ป๊ฒŒ ์œ ์ง€๋˜๊ณ , ์–ผ์Œ์€ ์–ด๋””์— ์ €์žฅ๋˜๋ฉฐ, ๊ธฐ๊ณ„๋Š” ์–ด๋–ค ์‹œ๋Ÿฝ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š”์ง€ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋งˆ๋„ ์ด๋Ÿฌํ•œ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์ด ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๊ทธ๋Ÿฌํ•œ ๊ธฐ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฏ€๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์š”์ฆ˜ ๊ทธ๋ ‡๊ฒŒ ์ธ๊ธฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์˜ˆ๋ฅผ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋งค์ผ ์—ฌ๋Ÿฌ ๋ฒˆ ํ™•์‹คํžˆ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ. ์˜ค, ์—ฌ๊ธฐ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค! Google ๊ฒ€์ƒ‰ ์—”์ง„์ด ์–ด๋–ป๊ฒŒ์บก์Šํ™”์˜ ์›๋ฆฌ - 2๊ณต์žฅ. ์ž…๋ ฅํ•œ ๋‹จ์–ด์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ์ •ํ™•ํžˆ ์–ด๋–ป๊ฒŒ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๊นŒ? ํŠน์ • ๊ฒฐ๊ณผ์˜ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋งค์ผ Google์„ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ด๊ฒƒ์„ ์•Œ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ๊ฒ€์ƒ‰ ์—”์ง„์— ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ชจ๋ฅธ ์ฑ„ ๊ธฐ๊ณ„์—์„œ ํƒ„์‚ฐ์Œ๋ฃŒ๋ฅผ ๊ตฌ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด์—ฐ ๊ธฐ๊ด€์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€, ๋ฌผ๋ฆฌํ•™์„ ์ „ํ˜€ ๋ชฐ๋ผ๋„ ์ดˆ๋“ฑํ•™๊ต ์ˆ˜์ค€์—์„œ๋„ ์ž๋™์ฐจ๋ฅผ ์šด์ „ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ฃผ์š” ์›์น™ ์ค‘ ํ•˜๋‚˜์ธ ์บก์Šํ™” ๋•๋ถ„์— ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.. OOP(๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ)์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ์‚ฌ๋ฅผ ์ฝ์œผ๋ฉด์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์บก์Šํ™” ์™€ ์ˆจ๊ธฐ๊ธฐ ๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ๊ฐœ๋…์ด ๊ด€๋ จ๋˜์–ด ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค . ๊ทธ๋ฆฌ๊ณ  ์ €์ž๋Š” "์บก์Šํ™”"๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•œ ๊ฐ€์ง€๋ฅผ ์˜๋ฏธํ•˜๊ณ  ๋‹ค๋ฅธ ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์™„์ „ํ•œ ์ดํ•ด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ๋‘ ์šฉ์–ด๋ฅผ ๋ชจ๋‘ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์บก์Šํ™” ์˜ ์›๋ž˜ ์˜๋ฏธ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฉ”์„œ๋“œ์™€ ํ•จ๊ป˜ ๋‹จ์ผ ๋‹จ์œ„ (์˜ˆ: "์บก์Š") ๋กœ ๋ฌถ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค . Java์—์„œ ํด๋ž˜์Šค๋Š” ์บก์Šํ™”์˜ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค์—๋Š” ๋ฐ์ดํ„ฐ (ํ•„๋“œ)์™€ ์ด ๋ฐ์ดํ„ฐ๋กœ ์ž‘์—…ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์„œ๋“œ๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.์บก์Šํ™”์˜ ์›๋ฆฌ - 3์ด๊ฒƒ์€ ๋ถ„๋ช…ํžˆ ์˜ฌ๋ฐ”๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๋‹ค๋ฅด๊ฒŒ ๋ฐฐ์—ด๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋ฐ์ดํ„ฐ๋Š” ์ž‘์—…๊ณผ ์—„๊ฒฉํ•˜๊ฒŒ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. OOP์—์„œ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฐ์ดํ„ฐ์™€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋กœ ์ž‘์—…ํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ์บก์Š ๋˜๋Š” ํด๋ž˜์Šค๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด์ œ ์€ํ ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด ๋ด…์‹œ๋‹ค . ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ  ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ ์ฑ„ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๋ณต์žกํ•œ ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ? ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ œ์ž‘์ž๊ฐ€ ๊ฐ„๋‹จํ•˜๊ณ  ํŽธ๋ฆฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.. ์†Œ๋‹ค ๊ธฐ๊ณ„์—์„œ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํŒจ๋„์˜ ๋ฒ„ํŠผ์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ปต ํฌ๊ธฐ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฒƒ์„ ๋ˆ„๋ฅด๋ฉด ๋ง›์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์„ธ ๋ฒˆ์งธ๋Š” ์–ผ์Œ ์ถ”๊ฐ€๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ๋‹น์‹ ์ด ํ•ด์•ผ ํ•  ์ „๋ถ€์ž…๋‹ˆ๋‹ค. ๊ธฐ๊ณ„์˜ ๋‚ด๋ถ€ ๊ตฌ์„ฑ์€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฒƒ์€ ์‚ฌ์šฉ์ž๊ฐ€ ํƒ„์‚ฐ์Œ๋ฃŒ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์„ธ ๊ฐœ์˜ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์•ผ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค . ์ž๋™์ฐจ์— ๋Œ€ํ•ด์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋‚ด๋ถ€์—์„œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฒƒ์€ ์˜ค๋ฅธ์ชฝ ํŽ˜๋‹ฌ์„ ๋ฐŸ์œผ๋ฉด ์ฐจ๊ฐ€ ์•ž์œผ๋กœ ๊ฐ€๊ณ  ์™ผ์ชฝ ํŽ˜๋‹ฌ์„ ๋ฐŸ์œผ๋ฉด ์†๋„๊ฐ€ ๋Š๋ ค์ง„๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.. ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ ์ˆจ๊ธฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ๋“  "๋‚ด๋ถ€"๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ˆจ๊ฒจ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์ด๋Ÿฌํ•œ ๋ถˆํ•„์š”ํ•˜๊ณ  ๋ถˆํ•„์š”ํ•œ ์ •๋ณด์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋‚ด๋ถ€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋‹Œ ์ตœ์ข… ๊ฒฐ๊ณผ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Autoํด๋ž˜์Šค๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค .

public class Auto {

   public void go() {

       /* Some complicated things happen inside the car.
       As a result, it moves forward */
   }

   public void brake() {

       /* Some complicated things happen inside the car.
       As a result, it slows down. */
   }

   public static void main(String[] args) {

       Auto auto = new Auto();

       // From the user's perspective,

       // one pedal is pressed and the car accelerates.
       auto.gas();
      
       // The other is pressed, and the car slows down.
       auto.brake();
   }
}
๋‹ค์Œ์€ Java ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ตฌํ˜„ ์ˆจ๊ธฐ๊ธฐ์˜ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค. ์‹ค์ƒํ™œ๊ณผ ๋˜‘๊ฐ™์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์—๊ฒŒ ์ธํ„ฐํŽ˜์ด์Šค(๋ฉ”์„œ๋“œ)๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž๋™์ฐจ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์›ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ ์ผ์–ด๋‚˜๋Š” ์ผ์€ ๋ถˆํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ๊ตฌํ˜„ ์ˆจ๊ธฐ๊ธฐ ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค . ๊ทธ ์™ธ์—๋„ Java์—๋Š” ๋ฐ์ดํ„ฐ ์ˆจ๊ธฐ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค . ์šฐ๋ฆฌ๋Š” ๊ฒŒํ„ฐ์™€ ์„ธํ„ฐ์— ๋Œ€ํ•œ ์ˆ˜์—… ์—์„œ ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์ผ์ง€ ๋งŒ, ๊ฐœ๋…์„ ๋ณต์Šตํ•˜๋Š” ๊ฒƒ์€ ๋‚˜์˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํด๋ž˜์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค Cat.

public class Cat {

   public String name;
   public int age;
   public int weight;

   public Cat(String name, int age, int weight) {
       this.name = name;
       this.age = age;
       this.weight = weight;
   }

   public Cat() {
   }

   public void sayMeow() {
       System.out.println("Meow!");
   }

  
}
์ง€๋‚œ ์ˆ˜์—…์—์„œ ์ด ์ˆ˜์—…์˜ ๋ฌธ์ œ๋ฅผ ๊ธฐ์–ตํ•˜์‹œ๋‚˜์š”? ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ์ง€๊ธˆ ๊ธฐ์–ตํ•ฉ์‹œ๋‹ค. ๋ฌธ์ œ๋Š” ๋ฐ์ดํ„ฐ(ํ•„๋“œ)๊ฐ€ ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๊ณต๊ฐœ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ฐ€์ค‘์น˜๊ฐ€ 0์ด๊ณ  ๋‚˜์ด๊ฐ€ -1000๋…„์ธ ์ด๋ฆ„ ์—†๋Š” ๊ณ ์–‘์ด๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

public static void main(String[] args) {

   Cat cat = new Cat();
   cat.name = "";
   cat.age = -1000;
   cat.weight = 0;

}
๋™๋ฃŒ ์ค‘ ํ•œ ๋ช…์ด ์ž˜๋ชป๋œ ์ƒํƒœ์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ–ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฉด๋ฐ€ํžˆ ์ฃผ์‹œํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋Ÿฌํ•œ "์ž˜๋ชป๋œ ๊ฐ์ฒด"๋ฅผ ์ƒ์„ฑํ•  ๊ฐ€๋Šฅ์„ฑ์กฐ์ฐจ ๋ฐฐ์ œํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์ข‹์Šต๋‹ˆ๋‹ค. ์บก์Šํ™”์˜ ์›๋ฆฌ - 4๋‹ค์Œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๋ฐ์ดํ„ฐ ์€๋‹‰์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  1. ์•ก์„ธ์Šค ์ˆ˜์ •์ž( ๊ฐœ์ธ , ๋ณดํ˜ธ , ํŒจํ‚ค์ง€ ๊ธฐ๋ณธ๊ฐ’ )
  2. ๊ฒŒํ„ฐ์™€ ์„ธํ„ฐ
์˜ˆ๋ฅผ ๋“ค์–ด ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ณ ์–‘์ด์˜ ๋‚˜์ด์— ์Œ์ˆ˜๋ฅผ ํ• ๋‹นํ•˜๋ ค๊ณ  ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ฑฐ๊ธฐ์— ์ฒดํฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž์—์„œ ๋งํ–ˆ๋“ฏ์ด ์บก์Šํ™”์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ์‚ฌ์˜ ์ €์ž๋Š” ๋•Œ๋•Œ๋กœ ๋ฐ์ดํ„ฐ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฒฐํ•ฉํ•˜๊ฑฐ๋‚˜ ์ˆจ๊ธฐ๊ฑฐ๋‚˜ ๋‘˜ ๋‹ค(๊ฒฐํ•ฉ ๋ฐ ์ˆจ๊ธฐ๊ธฐ)๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Java์—๋Š” ๋‘ ๊ฐ€์ง€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๋ชจ๋‘ ์žˆ์œผ๋ฏ€๋กœ(๋‹ค๋ฅธ OOP ์–ธ์–ด์˜ ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ ํ•ด๋‹น๋˜๋Š” ๊ฒƒ์€ ์•„๋‹˜) ๋งˆ์ง€๋ง‰ ์˜๋ฏธ๊ฐ€ ๊ฐ€์žฅ ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค. ์บก์Šํ™”๋Š” ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  1. ๊ฐœ์ฒด์˜ ์˜ฌ๋ฐ”๋ฅธ ์ƒํƒœ๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ์œ„์™€ ๊ฐ™์€ ์˜ˆ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. setter์™€ private ํ•œ์ •์ž๋Š” ํ”„๋กœ๊ทธ๋žจ์— ๊ฐ€์ค‘์น˜๊ฐ€ 0์ธ ๊ณ ์–‘์ด๊ฐ€ ์—†๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

  2. ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•œ ์‚ฌ์šฉ์ž ์นœํ™”์„ฑ. ๋ฉ”์„œ๋“œ๋งŒ ์™ธ๋ถ€ ์„ธ๊ณ„์— "๋…ธ์ถœ"๋ฉ๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์กฐ์‚ฌํ•  ํ•„์š”๊ฐ€ ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค.

  3. ์ฝ”๋“œ ๋ณ€๊ฒฝ์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์˜ฌ๋ฐ”๋ฅธ ์ฝ”๋“œ๊ฐ€ ๊ฐ€์† ํŽ˜๋‹ฌ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ "auto.gas()"์˜€๋‹ค๋ฉด ๊ณ„์† ๊ทธ๋Ÿด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ gas() ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ณ€๊ฒฝํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ˜ธ์ถœ์ž๋Š” ๋‹จ์ˆœํžˆ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION