โญ 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. ์ด์ 1 ยทยทยท 3 4 5 6 7 8 9 ยทยทยท 17 ๋ค์