๐ป Programming/Java
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
2๋ฒ์งธ ๊ณผ์ 1. ์ธํฐํ์ด์ค๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด ์งํฅ์ ํน์ง - ์บก์ํ - ์ถ์ํ - ๋คํ์ฑ - ์์ ์ธํฐํ์ด์ค๋ ๊ฐ์ฒด ์งํฅ์ 4๊ฐ์ง ํน์ง ๋ชจ๋ ๊ฐ์ง๊ณ ์๋ค. 2. ๊ทธ๋ ๊ฒ ์๊ฐํ๋ ์ด์ - ์บก์ํ : ์ ๊ทผ ์ ์ด์๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. - ์ถ์ํ : ์ธํฐํ์ด์ค๋ ์ผ์ข
์ ์ถ์ํด๋์ค์ด๊ธฐ ๋๋ฌธ์ด๋ค. - ๋คํ์ฑ : ์ธํฐํ์ด์ค๋ ์ธ์คํด์ค๋ฅผ ์ฐธ์กฐํ ์ ์์ผ๋ฉฐ, ์ธํฐํ์ด์ค ํ์
์ผ๋ก์ ํ๋ณํ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค. - ์์ : ์ธํฐํ์ด์ค๋ ์ธํฐํ์ด์ค๋ก๋ถํฐ ์์๋ฐ๋ ๊ฒ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ค์ค ์์๋ ๊ฐ๋ฅํ๋ค. ์ธํฐํ์ด์ค ์์ฑ interface ์ธํฐํ์ด์ค์ด๋ฆ { public satic final ํ์
์์์ด๋ฆ = ๊ฐ; public abstract ๋ฉ์๋์ด๋ฆ(๋งค๊ฐ๋ณ์๋ชฉ๋ก); }
๐ป Programming/Java
1๋ฒ์งธ ๊ณผ์ ๊ฐ์ฒด ์งํฅ์ ํน์ง 4๊ฐ์ง ๊ฐ๋
1. ์บก์ํ - ๋ฐ์ดํฐ๊ฐ ์ ํจํ ๊ฐ์ ์ ์งํ๋๋ก, ๋๋ ๋น๋ฐ๋ฒํธ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ์์ ํจ๋ถ๋ก ๋ณ๊ฒฝํ์ง ๋ชปํ๋๋ก ํ๊ธฐ ์ํด์ ์ธ๋ถ๋ก๋ถํฐ์ ์ ๊ทผ์ ์ ํํ๋ ๊ฒ - ํด๋์ค ๋ด์์๋ง ์ฌ์ฉ๋๋, ๋ด๋ถ ์์
์ ์ํด ์์๋ก ์ฌ์ฉ๋๋ ๋ฉค๋ฒ๋ณ์๋ ๋ถ๋ถ์์
์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ฉ์๋ ๋ฑ์ ๋ฉค๋ฒ๋ค์ ํด๋์ค ๋ด๋ถ์ ๊ฐ์ถ๋ ๊ฒ - private ๋ก ์ง์ ํ๋ฉด, ์ธ๋ถ์์ ์ ๊ทผ ๋ถ๊ฐํจ 2. ์์ - ๊ธฐ์กด์ ํด๋์ค๋ฅผ ์ฌ์ฌ์ฉํ์ฌ ์๋ก์ด ํด๋์ค๋ฅผ ์์ฑํ๋ ๊ฒ - ์์์ ํตํด ํด๋์ค๋ฅผ ์์ฑํ๋ฉด ์ ์ ์์ ์ฝ๋๋ก ์๋ก์ด ํด๋์ค ์์ฑ ๊ฐ๋ฅ - ์ฝ๋๋ฅผ ๊ณตํต์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฝ๋์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ์ด ์ฉ์ดํ๋ค - ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ ์ฝ๋์ ์ค๋ณต์ ์ ๊ฑฐํ์ฌ ํ๋ก๊ทธ๋จ์ ์์ฐ์ฑ๊ณผ ์ ์ง๋ณด์์ ํฌ๊ฒ..