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

Java

(4)
[Design Pattern] Factory Method Pattern Factory Method Pattern ํŒจํ„ด์˜ ๋ถ„๋ฅ˜ : ์ƒ์„ฑ ํŒจํ„ด ํŒจํ„ด์˜ ๋ชฉ์  : This pattern defines an interface for creating an object, but let subclasses decide which class to instantiate. Factory method lets a class defer instantiation to the subclasses. – GoF – ํŒจํ„ด์˜ ์ ์šฉ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ ๊ตฌํ˜„ ๊ด€์ ์—์„œ ์–ด๋–ค ์ข…๋ฅ˜์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ• ์ง€ ๋‚˜์ค‘์— ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์คŒ ๊ฐ™์€ ์ƒ์œ„ ํƒ€์ž…์„ ๊ฐ€์ง€๋Š” ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋ฉฐ, ์ด๋“ค์„ ์ฃผ๋กœ ์ƒ์œ„ ํƒ€์ž…์„ ํ†ตํ•ด ์ข†๊ฐ€ํ•  ๊ฒฝ์šฐ ๋ถ€๋ชจ ํด๋ž˜์Šค๊ฐ€ ์•„๋‹ˆ๋ผ ์ž์‹ ํด๋ž˜์Šค๊ฐ€ ์–ด๋–ค ์ข…๋ฅ˜..
[Java] txtํŒŒ์ผ ์ฝ๊ณ  ์“ฐ๊ธฐ txt ํŒŒ์ผ ํŒŒ์‹ฑ ํ›„ ์ค‘๋ณต count BufferedReaer BufferedReader br = new BufferedReader( new FileReader("C:\\Users\\hae85\\Downloads\\yongin40_before_41.txt") ); Collections.frequency Set set = new HashSet(list); Set set = new HashSet(list); for(String str : set){ sb.append(str + " : " + Collections.frequency(list, str)).append("\n"); } result.txt์— ํŒŒ์ผ ์“ฐ๊ธฐ File resultFile = new File("C:\\Users\\hae85\\Downloads..
[OOP] ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ์›๋ฆฌ ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ์›๋ฆฌ 1. SOLID SOLID๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ์›๋ฆฌ ์ค‘ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋‹ค์„ฏ๊ฐ€์ง€ ์›๋ฆฌ SRP(Single Responsibility Principle), OCP(Open-Closed Principle), LSP(LIskov Substitution Principle), ISP(Interface Substitution Principle), DIP(Dependency Inversion Principle)๋ฅผ ๋งํ•œ๋‹ค. 1.1 SRP ๋‹จ์ผ ์ฑ…์ž„ ์›๋ฆฌ A class should have only one reason to change. ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์„ค๊ณ„ ์›๋ฆฌ ์ค‘ ํ•˜๋‚˜๋Š” ๋ชจ๋“ˆ์€ ์‘์ง‘์„ฑ์ด ๋†’์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. (high-cohesion) ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๊ธฐ๋ณธ ๋ชจ๋“ˆ์€ ํด๋ž˜์Šค์ด๋‹ค. SRP์—..
[OOP]๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ 1. ์—ญ์‚ฌ ๊ฐ์ฒด์ง€ํ–ฅ(OO, Object-Oriented) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ง€๋ฐฐ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž๋ฆฌ์žก๊ธฐ ์ด์ „์— ๋„๋ฆฌ ์‚ฌ์šฉ๋œ ๊ณ ๊ธ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” FORTRAN, COBOL ๋“ฑ์ด๋‹ค. C ์–ธ์–ด๋Š” 1972๋…„์— Bell Labs์˜ Dennis Ritchie๊ฐ€ ๊ฐœ ๋ฐœํ•œ ๋ฒ”์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค. C ํ‘œ์ค€์€ 1983๋…„์— ์‹œ์ž‘๋˜์–ด 1988๋…„์— ์ฒ˜์Œ์œผ๋กœ ํ‘œ์ค€ํ™”๋˜์—ˆ์œผ๋ฉฐ, ์ด๋ฅผ ANSI C ๋˜๋Š” ISO C๋ผ ํ•œ๋‹ค. ๊ทธ ์ดํ›„ C99, C11์œผ๋กœ ํ‘œ์ค€์ด ์ผ๋ถ€ ๊ฐœ์„ ๋˜์—ˆ๋‹ค. C ์–ธ์–ด๋Š” ์šด์˜์ฒด์ œ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด๋กœ ๊ณ ๊ธ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด์ง€๋งŒ ํ•˜๋“œ์›จ์–ด์™€ ๋ฐ€์ ‘ํ•œ ์ˆ˜์ค€์˜ ์š”์†Œ๋„ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ๋˜ํ•œ ๋‹น์‹œ ๊ณ ๊ธ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜๋Š” ์‘์šฉ์ด ๋งค์šฐ ์ œํ•œ์ ์ด์—ˆ๋‹ค. ์ง€๊ธˆ์˜ 4์ฐจ ์‚ฐ์—…ํ˜๋ช…, ..