๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

์ถ”์ƒํ™”2

[JAVA] ์ž๋ฐ”์˜ ์ƒ์†๊ณผ ์ถ”์ƒ ๋ฉ”์†Œ๋“œ ๐ŸŽฑ ์ž๋ฐ” ์ƒ์† ์„œ๋ธŒํด๋ž˜์Šค(sub class, ์ž์‹)๋Š” ์Šˆํผํด๋ž˜์Šค(super class, ๋ถ€๋ชจ)๋ฅผ ์„ ํƒํ•ด, ์Šˆํผํด๋ž˜์Šค์˜ ๋ชจ๋“  ๊ฒƒ์„ ์ƒ์†๋ฐ›์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๋‹จ private์˜ ๊ฒฝ์šฐ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์„œ๋ธŒ ํด๋ž˜์Šค ์˜†์— extends ํ‚ค์›Œ๋“œ์™€ ํ•จ๊ป˜ ์Šˆํผํด๋ž˜์Šค๋ช…์„ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. ํ•˜๋‚˜๋งŒ ๊ฐ€๋Šฅ(๋‹จ์ผ ์ƒ์†)ํ•˜๋ฉฐ, ์Šˆํผํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์— ๋”ํ•ด ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ฐ–๋„๋ก ์„œ๋ธŒํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. ๋ณ€์ˆ˜๋Š” private๋กœ ์„ ์–ธํ•˜๊ณ  getter-setter๋กœ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€๋งŒ ์˜ˆ์‹œ๋Š” protected๋กœ ์„ ์–ธํ•ด ๊ณต์œ ํ•˜๋„๋ก ํ•˜์˜€๋‹ค. ๋”๋ณด๊ธฐ โœจ ์„œ๋ธŒํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๋Š” ์ž๋™์œผ๋กœ super();์„ ์‹คํ–‰ํ•ด ์Šˆํผ ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๋ฅผ ์ž๋™์œผ๋กœ ๋ถ€๋ฅด๊ฒŒ ๋œ๋‹ค. โœจ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ์•„๋‹Œ ์ธ์ˆ˜๊ฐ€ ์žˆ๋Š” ์ƒ์„ฑ์ž๋ฅผ ๋ถ€๋ฅผ ๋•Œ๋Š” super(10,20); .. 2023. 12. 15.
[JAVA] ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๐Ÿค” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๋ฐœ์ „ํ•˜๊ฒŒ ๋œ ์ด์œ  ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์€ ์ตœ์†Œํ•œ์˜ ๋น„์šฉ์œผ๋กœ ์ตœ๋Œ€ํ•œ์˜ ํšจ๊ณผ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ฐœ์ „๋œ ํ•™๋ฌธ์ด๋‹ค. ์ƒ์„ฑ๋ถ€ํ„ฐ ํ๊ธฐ๊นŒ์ง€์˜ ๋น„์šฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์กŒ๋‹ค. ์ดˆ๊ธฐ์—๋Š” ๊ฐœ๋ฐœ๋น„์šฉ, ์ƒ์„ฑ๋น„์šฉ์ด ๋†’์•˜๋‹ค. ํ•˜์ง€๋งŒ ๋งŽ์€ ํšŒ์‚ฌ์—์„œ ์ฝ”๋“œ๋ฅผ ๊ณต๊ฐœํ•˜๋ฉด์„œ ์ƒ์„ฑ ๋น„์šฉ์ด ๊ต‰์žฅํžˆ ์ค„์–ด๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ๊ทผ์—๋Š” ์œ ์ง€๋ณด์ˆ˜๋น„์šฉ์ด ์ƒ์„ฑ๋น„์šฉ๋ณด๋‹ค ํ›จ์”ฌ ๋งŽ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์„ ์ค„์ด๊ธฐ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์ƒ๊ฒจ๋‚ฌ๋‹ค. ๋”๋ณด๊ธฐ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•๋ก  : SW ๊ณตํ•™์  ๊ด€์ ์—์„œ ๋ช…๋ น์–ด๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ํšจ์œจ์ ์œผ๋กœ ํ•˜๊ธฐ ์œ„ํ•จ โšฝ ํ•จ์ˆ˜ ์ง€ํ–ฅํ˜• : ์ƒ์„ฑ ๋น„์šฉ ์ค„์ด๊ธฐ = ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ ๋†’์ด๊ธฐ = ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ์ˆ  ๋ฐœ๋‹ฌ : ๋ชจ๋“ˆํ™”(ํ•จ์ˆ˜ ๋‹จ์œ„) ์ฆ‰, ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์•„์ง โšพ ๊ฐ์ฒด ์ง€ํ–ฅํ˜• : ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ ์ค„์ด๊ธฐ.. 2023. 12. 11.
728x90