item20(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 -
[์ดํํฐ๋ธ ์๋ฐ] Item20. ์ถ์ํด๋์ค๋ณด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๋ผ. (์ธํฐํ์ด์ค์ ์ถ์ ๊ณจ๊ฒฉ skeletal ํด๋์ค)
[์ดํํฐ๋ธ ์๋ฐ] Item20. ์ถ์ํด๋์ค๋ณด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๋ผ. [์ดํํฐ๋ธ ์๋ฐ] Item20. ์ถ์ํด๋์ค๋ณด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๋ผ. (tistory.com) [์ดํํฐ๋ธ ์๋ฐ] Item20. ์ถ์ํด๋์ค๋ณด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๋ผ. [์ดํํฐ๋ธ ์๋ฐ] Item20. ์ถ์ํด๋์ค๋ณด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๋ผ. ์๋ฐ๊ฐ ์ ๊ณตํ๋ ๋ค์ค ๊ตฌํ ๋ฉ์ปค๋์ฆ์ผ๋ก๋ ์ถ์ํด๋์ค์ ์ธํฐํ์ด์ค ์ด๋ ๊ฒ ๋๊ฐ์ง๊ฐ ์๋ค. ์๋ฐ 8๋ถํฐ ์ธํฐํ์ด์ค๋ ๋ํดํธ hyejin.tistory.com ๋จผ์ ์ถ์ ํด๋์ค๋ณด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๊ธฐ ์ํด ์ธํฐํ์ด์ค์ ์ฅ์ ์ ๋ํด์ ๊ณต๋ถํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด์ ์ธํฐํ์ด์ค์ ์ถ์ ๊ณจ๊ฒฉ(skeltal implementation) ํด๋์ค๋ฅผ ํจ๊ป ์ ๊ณตํ๋ ์์ผ๋ก ์ธํฐํ์ด์ค์ ์ถ์ ํด๋์ค์ ์ฅ์ ์ ๋ชจ๋ ์ทจํ๋ ๋ฐฉ๋ฒ๋ ์๋ค...
2023.03.06 -
[์ดํํฐ๋ธ ์๋ฐ] Item20. ์ถ์ํด๋์ค๋ณด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๋ผ.
[์ดํํฐ๋ธ ์๋ฐ] Item20. ์ถ์ํด๋์ค๋ณด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๋ผ. ์๋ฐ๊ฐ ์ ๊ณตํ๋ ๋ค์ค ๊ตฌํ ๋ฉ์ปค๋์ฆ์ผ๋ก๋ ์ถ์ํด๋์ค์ ์ธํฐํ์ด์ค ์ด๋ ๊ฒ ๋๊ฐ์ง๊ฐ ์๋ค. ์๋ฐ 8๋ถํฐ ์ธํฐํ์ด์ค๋ ๋ํดํธ ๋ฉ์๋ default method ๋ฅผ ์ ๊ณตํ ์ ์๊ฒ ๋๋ฉด์ ์ด์ ๋ ๋ ๋ฉ์ปค๋์ฆ ๋ชจ๋ ์ธ์คํด์ค ๋ฉ์๋๋ฅผ ๊ตฌํ ํํ๋ก ์ ๊ณตํ ์ ์๋ค. ์ถ์ํด๋์ค์ ์ธํฐํ์ด์ค์ ํฐ ์ฐจ์ด์ ์ผ๋ก๋ ์ถ์ํด๋์ค๊ฐ ์ ์ํ ํ์ ์ ๊ตฌํํ๋ ํด๋์ค๋ ๋ฐ๋์ ์ถ์ํด๋์ค์ ํ์ ํด๋์ค๊ฐ ๋์ด์ผ ํ๋ค๋ ์ ์ด๋ค. ์๋ฐ๋ ๋จ์ผ ์์๋ง ์ง์ํ๊ธฐ ๋๋ฌธ์ ์ถ์ ํด๋์ค ๋ฐฉ์์ ์๋ก์ด ํ์ ์ ์ ์ํ๋๋ฐ ์ปค๋ค๋ ์ ์ฝ์ ์ป๊ฒ ๋๋ค. ๋ฐ๋ฉด ์ธํฐํ์ด์ค๊ฐ ์ ์ธํ ๋ฉ์๋๋ฅผ ๋ชจ๋ ์ ์ํ๊ณ ๊ทธ ์ผ๋ฐ ๊ท์ฝ์ ์ ์งํจ ํด๋์ค๋ผ๋ฉด ๋ค๋ฅธ ์ด๋ค ํด๋์ค๋ฅผ ์์ํ๋ ๊ฐ์ ํ์ ์ผ๋ก ์ทจ๊ธ๋๋ค. ..
2023.03.03