์ถ์ํด๋์ค(3)
-
[์ดํํฐ๋ธ ์๋ฐ] Item20 ์๋ฒฝ๊ณต๋ต. ํ ํ๋ฆฟ ๋ฉ์๋ ํจํด
item20. ์ถ์ํด๋์ค๋ณด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๋ผ. " p.132 ํ ํ๋ฆฟ ๋ฉ์๋ ํจํด" ๐ ํ ํ๋ฆฟ ๋ฉ์๋ ํจํด์ด๋? : ์๊ณ ๋ฆฌ์ฆ ๊ตฌ์กฐ๋ฅผ ์๋ธ ํด๋์ค๊ฐ ํ์ฅํ ์ ์๋๋ก ํ ํ๋ฆฟ์ผ๋ก ์ ๊ณตํ๋ ๋ฐฉ๋ฒ ์ ์ฒด์ ์ผ๋ก๋ ๋์ผํ๋ฐ ๋ถ๋ถ์ ์ผ๋ก ๋ค๋ฅธ ๋ถ๋ถ์ ๋ฐ๋ก ํ์ฅํด์ ์์ฑํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฝ๋ ์ค๋ณต์ ์ต์ํํ ์ ์๋ค! public abstract class FileProcessor { private String path; public FileProcessor(String path) { this.path = path; } // templateMethod() public final int process() { try(BufferedReader reader = new BufferedReader(new File..
2023.03.06 -
[JAVA] 11. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ9. ์ถ์ํด๋์ค ์์ฑ, ์ธํฐํ์ด์ค
https://hyejin.tistory.com/568 [JAVA] 11. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ8. ๋คํ์ฑ, ์ถ์ํด๋์ค https://hyejin.tistory.com/567 [JAVA] 11. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ7. ๋คํ์ฑ 1๏ธโฃ ๋คํ์ฑ(polymorphism) ๊ฐ์ฒด์งํฅ๊ฐ๋ ์์ ๋คํ์ฑ์ด๋ '์ฌ๋ฌ๊ฐ์ง ํํ๋ฅผ ๊ฐ์ง ์ ์๋ ๋ฅ๋ ฅ'์ ์๋ฏธํ๋ฉฐ, ์๋ฐ์์๋ ํ ํ์ ์ ์ฐธ hyejin.tistory.com 1๏ธโฃ ์ถ์ํด๋์ค ์์ฑ ์ด๋ค ํด๋์ค์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋ ์ ์๋ ํด๋์ค๋ฅผ ๋ฐ๋ก ์์ฑํ๊ธฐ๋ ํ๊ณ , ๊ธฐ์กด์ ํด๋์ค์ ๊ณตํต์ ์ธ ๋ถ๋ถ์ ๋ฝ์์ ์ถ์ํด๋์ค๋ก ๋ง๋ค์ด ์์ํ๋๋ก ํ๋ ๊ฒฝ์ฐ๋ ์๋ค. ์์์ด ์์ ํด๋์ค๋ฅผ ๋ง๋๋๋ฐ ์กฐ์ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ผ๋ฉด, ๋ฐ๋๋ก ์ถ์ํ๋ ๊ธฐ์กด์ ํด๋์ค์ ๊ณตํต์ ์ธ ๋ถ๋ถ์ ๋ฝ์๋ด์ ์กฐ์..
2022.04.24 -
[JAVA] 11. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ8. ๋คํ์ฑ, ์ถ์ํด๋์ค
https://hyejin.tistory.com/567 [JAVA] 11. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ7. ๋คํ์ฑ 1๏ธโฃ ๋คํ์ฑ(polymorphism) ๊ฐ์ฒด์งํฅ๊ฐ๋ ์์ ๋คํ์ฑ์ด๋ '์ฌ๋ฌ๊ฐ์ง ํํ๋ฅผ ๊ฐ์ง ์ ์๋ ๋ฅ๋ ฅ'์ ์๋ฏธํ๋ฉฐ, ์๋ฐ์์๋ ํ ํ์ ์ ์ฐธ์กฐ๋ณ์๋ก ํ์ฌ ์ฌ๋ฌ ํ์ ์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ ์ ์๋๋ก ํจ์ผ๋ก์จ hyejin.tistory.com 1๏ธโฃ ์ฌ๋ฌ ์ข ๋ฅ์ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ก ๋ค๋ฃจ๊ธฐ ์กฐ์ํ์ ์ ์ฐธ์กฐ๋ณ์ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ฉด, ๊ณตํต์ ์กฐ์์ ๊ฐ์ง ์๋ก ๋ค๋ฅธ ์ข ๋ฅ์ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ก ๋ฌถ์ด์ ๋ค๋ฃฐ ์ ์๋ค. ๋๋ ๋ฌถ์ด์ ๋ค๋ฃจ๊ณ ์ถ์ ๊ฐ์ฒด๋ค์ ์์๊ด๊ณ๋ฅผ ๋ฐ์ ธ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต์กฐ์ ํด๋์ค ํ์ ์ ์ฐธ์กฐ๋ณ์ ๋ฐฐ์ด์ ์์ฑํด์ ๊ฐ์ฒด๋ค์ ์ ์ฅํ๋ฉด ๋๋ค. Product[] products = new Product[3]; products..
2022.04.23