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

โญ Personal_Study97

SOLID (์ข‹์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์˜ 5๊ฐ€์ง€ ์›์น™) SOLID ์ข‹์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์˜ 5๊ฐ€์ง€ ์›์น™ SRP: ๋‹จ์ผ ์ฑ…์ž„ ์›์น™ (single responsibility principle) OCP: ๊ฐœ๋ฐฉ-ํ์‡„ ์›์น™ (Open/closed principle) LSP: ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™ (Liskov substitution principle) ISP: ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™ (Interface segregation principle) DIP: ์˜์กด๊ด€๊ณ„ ์—ญ์ „ ์›์น™ (Dependency inversion principle) 1. SRP: ๋‹จ์ผ ์ฑ…์ž„ ์›์น™ ํ•œ ํด๋ž˜์Šค๋Š” ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค ํ•˜๋‚˜์˜ ์ฑ…์ž„์ด๋ผ๋Š” ๊ฒƒ์€ ๋ชจํ˜ธํ•˜๋‹ค. ํด ์ˆ˜ ์žˆ๊ณ , ์ž‘์„ ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ๋งฅ๊ณผ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. ์ค‘์š”ํ•œ ๊ธฐ์ค€์€ ๋ณ€๊ฒฝ์ด๋‹ค. ๋ณ€๊ฒฝ์ด ์žˆ์„ ๋•Œ ํŒŒ๊ธ‰ ํšจ๊ณผ๊ฐ€ ์ ์œผ๋ฉด ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ์ž˜ ๋”ฐ.. 2022. 12. 31.
์ง‘ํ•ฉ (Set) Set Set(์ง‘ํ•ฉ)์˜ ํŠน์ง• ์ค‘๋ณต์ด ์—†๋‹ค ์ˆœ์„œ๊ฐ€ ์—†๋‹ค HashSet import java.util.Arrays; import java.util.HashSet; public class hashset { public static void main(String[] args) { HashSet set = new HashSet(Arrays.asList("H", "e", "l", "l", "o")); System.out.println(set); //[e, H, l, o] } } ๊ต์ง‘ํ•ฉ, ํ•ฉ์ง‘ํ•ฉ, ์ฐจ์ง‘ํ•ฉ ๊ต์ง‘ํ•ฉ // ๋ณต์‚ฌ๋ณธ ๋งŒ๋“ค์–ด์„œ ์ˆ˜ํ–‰ HashSet intersection = new HashSet(s1); intersection.retainAll(s2); System.out.println(intersection) .. 2022. 12. 20.
์ƒ์ˆ˜์ง‘ํ•ฉ(Enum) ์ƒ์ˆ˜์ง‘ํ•ฉ Enum Enum ์ƒ์„ฑ public class Sample { enum CoffeeType { AMERICANO, ICE_AMERICANO, CAFE_LATTE }; public static void main(String[] args) { System.out.println(CoffeeType.AMERICANO); // AMERICANO ์ถœ๋ ฅ System.out.println(CoffeeType.ICE_AMERICANO); // ICE_AMERICANO ์ถœ๋ ฅ System.out.println(CoffeeType.CAFE_LATTE); // CAFE_LATTE ์ถœ๋ ฅ } } ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ˜๋ณต๋ฌธ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. public class Sample { enum CoffeeType { AMERICA.. 2022. 12. 19.
๋งต(Map) ๋งต (Map) ๋Œ€์‘๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒํ˜• (dictionary์™€ ์œ ์‚ฌ) ๋ฆฌ์ŠคํŠธ๋‚˜ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ˆœ์ฐจ์ ์œผ๋กœ ์š”์†Œ์˜ ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ key-value ๋Œ€์‘๊ด€๊ณ„๋ฅผ ์ด์šฉํ•ด ๊ฐ’(value)์— ์ ‘๊ทผํ•œ๋‹ค. HashMap put HashMap map = new HashMap(); map.put("์Šค์ฟผํŠธ", "ํ•˜์ฒด"); map.put("๋ฒค์น˜ํ”„๋ ˆ์Šค", "๊ฐ€์Šด"); get (getOrDefault) HashMap map = new HashMap(); map.put("์Šค์ฟผํŠธ", "ํ•˜์ฒด"); map.put("๋ฒค์น˜ํ”„๋ ˆ์Šค", "๊ฐ€์Šด") System.out.println(map.get("์Šค์ฟผํŠธ")); // ํ•˜์ฒด System.out.println(map.getOrDefault("๋ฐ๋“œ๋ฆฌํ”„ํŠธ", "ํ—ฌ์Šค")); // ํ—ฌ์Šค contains.. 2022. 12. 18.
๋ฐฐ์—ด(Array) & ๋ฆฌ์ŠคํŠธ(List) ๋ฐฐ์—ด(Array) & ๋ฆฌ์ŠคํŠธ(List) ๋ฐฐ์—ด(Array) ๊ณ ์ •๋œ ๊ธธ์ด String[] abc = new String[3] abc[0] = "a"; abc[1] = "b"; abc[2] = "c"; ๋ฐฐ์—ด์€ ๊ธธ์ด๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋จผ์ € ์„ค์ •ํ•˜์—ฌ ๋ฐฐ์—ด ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ ๊ฐ’์„ ๋‚˜์ค‘์— ๋Œ€์ž… ๋ฆฌ์ŠคํŠธ (ArrayList) ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด์žˆ์ง€ ์•Š๊ณ  ๋™์ ์œผ๋กœ ๋ณ€ํ•œ๋‹ค!! List์—๋Š” ArrayList, Vector, LinkedList ๋“ฑ ์กด์žฌ add ArrayList numbers = new ArrayList(); numbers.add(123); numbers.add(456); numbers.add(789); numbers.add(0, 000); get ArrayList arr = new ArrayLis.. 2022. 12. 17.
String & StringBuffer String, StringBuffer String (๋ฌธ์ž์—ด) String a = "Hello World"; // ๋ฆฌํ„ฐ๋Ÿด ํ‘œ๊ธฐ String b = new String("Hello Java"); //๊ฐ์ฒด ์ƒ์„ฑ ๋ฆฌํ„ฐ๋Ÿด ํ‘œ๊ธฐ ๊ฐ์ฒด ์ƒ์„ฑ ์—†์ด ๊ณ ์ •๋œ ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๋Œ€์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ• "Hello World"๋ผ๋Š” ๋ฌธ์ž์—ด์„ intern poll JVM์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅํ•˜๊ณ  ๋‹ค์Œ์— ๋‹ค์‹œ ๋™์ผํ•œ ๋ฌธ์ž์—ฌ๋ง ์„ ์–ธ๋  ๋•Œ๋Š” cache๋œ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ด ๊ฐ์ฒด ์ƒ์„ฑ(new) ๋ฐฉ์‹์€ ํ•ญ์ƒ ์ƒˆ๋กœ์šด String ๊ฐ์ฒด ์ƒ์„ฑ ๋ฉ”์„œ๋“œ equals ๋‘ ๊ฐœ์˜ ๋ฌธ์ž์—ด์ด ๋™์ผํ•œ์ง€ ๋น„๊ตํ•˜์—ฌ ๊ฒฐ๊ณผ๊ฐ’ ๋ฆฌํ„ด String a = "hello"; String b = "world"; String c = "hello"; String d = new String("hel.. 2022. 12. 10.