OOP 1

๐ŸŸจ [Java] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Object Oriented Programming)

๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€? ๊ฐ์ฒด๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์งœ๋Š” ๊ฒƒ. ์—ฌ๊ธฐ์„œ ๊ฐ์ฒด๋ž€ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๋‹จ์œ„๋ฅผ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค๋ฉด ์ž๋™์ฐจ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ์ž๋™์ฐจ์— ๋“ค์–ด๊ฐ€๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ถ€ํ’ˆ๋“ค์ด ์žˆ๋‹ค. ํ•ธ๋“ค, ํƒ€์ด์–ด, ์—”์ง„ ๋“ฑ๋“ฑ ์ด๋Ÿฌํ•œ ๋ถ€ํ’ˆ๋“ค์ด ๋ชจ๋‘ ๊ฐ์ฒด๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ์ฒด๋“ค์ด ๋ชจ์—ฌ ์ž๋™์ฐจ๋ฅผ ์ด๋ฃจ๊ฒŒ ๋œ๋‹ค. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ–๋Š” ์žฅ์  ์ค‘ ํ•˜๋‚˜์ธ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฝ๋‹ค๋Š” ์ ์ด ์ด ๋ถ€๋ถ„์—์„œ ๋“œ๋Ÿฌ๋‚˜๊ฒŒ ๋œ๋‹ค. ํ•ธ๋“ค์ด๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ์–ด๋– ํ•œ ์ž๋™์ฐจ์—์„œ ๊ฐ€์ ธ๊ฐ€ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ํ•œ ๋ฒˆ ๋งŒ๋“ค์–ด ๋†“์œผ๋ฉด ์žฌ์‚ฌ์šฉ์ด ์šฉ์ดํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์ด ์ ๊ฒŒ ๋“ค์–ด๊ฐ„๋‹ค. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŠน์ง• ์ถ”์ƒํ™” ๊ฐ์ฒด์—์„œ ๊ณตํ†ต๋œ ์†์„ฑ๊ณผ ํ–‰์œ„๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ ์‹ค์ œ ์„ธ์ƒ์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ๊ฒŒ, ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค๋งŒ ๊ฐ€์ ธ์™€์„œ ๋‹จ์ˆœํ™” ํ•˜๋Š” ๊ฒƒ. ์‹ค์ œ๋ฅผ ๊ฐ์ฒดํ™” ํ•˜๋Š” ๊ฒƒ..