๐Ÿ’ป Programming/Java

๐Ÿ’ป Programming/Java

[Java] ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ๊ตฌํ˜„ํ•  ๋•Œ @Override ์–ด๋…ธํ…Œ์ด์…˜์˜ ํ•„์š” ์—ฌ๋ถ€

3๋ฒˆ์งธ ๊ณผ์ œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์ด๋ž€? - ์กฐ์ƒ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›์€ ๋ฉ”์„œ๋“œ์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด๋‹ค. @Override ์–ด๋…ธํ…Œ์ด์…˜์ด๋ž€? - ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๋ฆฐ๋‹ค. ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ๊ตฌํ˜„ํ•  ๋•Œ @Override ์–ด๋…ธํ…Œ์ด์…˜์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ์ง€? // ํžŒํŠธ. ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•ด๋ณด์…”์š”. class Parent { public void hello(String name) { System.out.println("์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” " + name + "์ž…๋‹ˆ๋‹ค."); } } class Child extends Parent{ // @Override๊ฐ€ ์žˆ์œผ๋ฉด ์–ด๋–ป๊ณ  ์—†์œผ๋ฉด ์–ด๋–ค๊ฐ€์š”? public void hello() { System.out.println("์•ˆ๋…•!"); } } 1) @Override ์–ด๋…ธํ…Œ์ด์…˜์ด..

๐Ÿ’ป Programming/Java

[Java] ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ํŠน์ง•

2๋ฒˆ์งธ ๊ณผ์ œ 1. ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ํŠน์ง• - ์บก์Šํ™” - ์ถ”์ƒํ™” - ๋‹คํ˜•์„ฑ - ์ƒ์† ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ 4๊ฐ€์ง€ ํŠน์ง• ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 2. ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ์ด์œ  - ์บก์Šํ™” : ์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. - ์ถ”์ƒํ™” : ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ผ์ข…์˜ ์ถ”์ƒํด๋ž˜์Šค์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. - ๋‹คํ˜•์„ฑ : ์ธํ„ฐํŽ˜์ด์Šค๋„ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…์œผ๋กœ์˜ ํ˜•๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. - ์ƒ์† : ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋‹ค์ค‘ ์ƒ์†๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค ์ž‘์„ฑ interface ์ธํ„ฐํŽ˜์ด์Šค์ด๋ฆ„ { public satic final ํƒ€์ž… ์ƒ์ˆ˜์ด๋ฆ„ = ๊ฐ’; public abstract ๋ฉ”์„œ๋“œ์ด๋ฆ„(๋งค๊ฐœ๋ณ€์ˆ˜๋ชฉ๋ก); }

๐Ÿ’ป Programming/Java

[Java] ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ํŠน์ง• 4๊ฐ€์ง€

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

soozkim
'๐Ÿ’ป Programming/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก