전체 글
-
아이템18. 상속보다는 컴포지션을 사용하라책/이펙티브자바 2021. 8. 15. 13:03
들어가기 상속보다는 컴포지션을 사용해래 컴포지션이 상속받을 클래스를 필드로 넣어서 사용하는걸 컴포지션이라고 부르는거 같던데 맞나 ? 일단 상속보다 컴포지션이 좋은점이 있으니까 그러라고 하는거겠지 ? 왜 그런지 알아보자. 상속의 단점 상속은 캡슐화를 깨뜨린다. 상위 클래스가 어떻게 구현하느냐에 따라 하위클래스의 동작에 이상이 생길 수 있다. 상위 클래스는 릴리스마다 내부 구현이 달라질 수 있는데, 그 여파로 코드를 안건드린 하위 클래스가 오동작 할 수 있다는 것이다. 예를들어 HashSet 을 사용하는 프로그램이 있는데 여기서 추가적으로 처음 생성된 이후 원소가 몇 개 더해져있는지 알수있어야 하는 클래스가 필요하다고 할게. 그래서 HashSet을 상속받은 InstrumentedHashSet 을 만들어서 사..
-
MySQL 3레벨 다 풀었다.PS/programmers 2021. 8. 15. 11:23
헤비 유저가 소유한 장소는 못 풀어서 다른 풀이 봤다. 지금 보니까 그냥 프로그래머스 나머지 문제는 유형이 비슷해서 푼거지 다른 문제나오면 풀 수 있을지 모르겠따,, 1 2 3 4 5 6 7 8 9 SELECT * FROM PLACES WHERE HOST_ID IN ( SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING count(*) >= 2 ) ORDER BY ID cs 헤비 유저가 소유한 장소 풀이 다르게 푼 풀이도 많은데 이게 제일 와닿았다.
-
프로그래머스 위클리 챌린지PS/programmers 2021. 8. 11. 15:13
1주차 1 2 3 4 5 6 7 8 9 10 11 12 class Solution { public long solution(int price, int money, int count) { long totalPrice = 0; for(int i = 1; i 0 ? 0 : -result; } } Colored by Color Scripter cs 2주차 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 7..
-
-
Section5. 빠른 정렬책/misc 2021. 8. 6. 00:29
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 package me.kingsubin.studyrepo.book.algorithm.section5; public class QuickSort { public static void main(String[] args) { int[] A = {15, 22, 13, 27, 12, 10, 20, 25, 32}; System.out.println("주어진 배열"); print(A); quickSort(A, 0..
-
Section5. 최댓값 최솟값 찾기책/misc 2021. 8. 5. 17:44
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 package me.kingsubin.studyrepo.book.algorithm.section5; public class findMaxMin { public static void main(String[] args) { int[] A = {24, 75, 92, 83, 61, 48, 97, 50}; int[] answer; answer = findMaxMin(A, 0, A.length - 1); System.out.println("Min: " + answer[0]..