객체 지향과 디자인 패턴 국내도서 저자 : 최범균 출판 : 인투북스 2013.07.05 상세보기 OOP 설계 원칙을 알아도 경험없이 적재적소에 써먹기는 쉽지 않다. 그래서 패턴을 알고 비슷한 상황에 적용한다면 클래스 파일을 증식시켜서 더 복잡한 프로그램을 막을 수 있지 않을까? (라고 생각한다... 출근하자마자 써먹어봐야겠다) 전략 패턴 (Stratege Pattern) 비슷한 코드를 실행하는 if-else 블록이 있다면 전략 패턴! ex) 조건별로 할인가 적용 등등 템플릿 메서드(Template Method) 패턴 같은 기능을 여러군데서 사용하고 있다면 템플릿 메서드 패턴! ex) DB와 LDAP에서 동시에 사용자 인증 기능이 필요할 경우, 결제 기능이 결제사 별로 동일하게 필요할 경우 등등 상태(St..
객체 지향과 디자인 패턴 국내도서 저자 : 최범균 출판 : 인투북스 2013.07.05 상세보기 SOLID 설계 원칙 (객체지향 설계 원칙) 1) 단일 책임 원칙 (Single responsibility principle, SRP) - 클래스는 한 개의 책임을 가져야 한다. - 단일 책임 원칙을 안 지킨다면 ? 기능이 바뀔 때마다 여러 코드에 영향을 미침 (변화 연쇄적으로 발생) → 재사용 어려움. - 메서드를 실행하는 것이 누구인지 확인해보자! 2) 개방 폐쇄 원칙 (Open-closed principle, OCP) - 사용되는 기능의 확장에는 열려있어야 하고, 기능을 사용하는 코드의 변경에는 닫혀있어야 한다. - 개방 폐쇄 원칙을 안 지킨다면 ? 다운 캐스팅 한다. instanceof와 같은 타입 확..
https://programmers.co.kr/learn/courses/30/lessons/12906 알고리즘 연습 - 같은 숫자는 싫어 | 프로그래머스 실행 결과가 여기에 표시됩니다. programmers.co.kr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import java.util.*; public class Solution { public int[] solution(int []arr) { List numList = new ArrayList(); numList.add(arr[0]); for(int i = 0; i
객체 지향과 디자인 패턴 국내도서 저자 : 최범균 출판 : 인투북스 2013.07.05 상세보기 유지보수를 하면서 불편한 점이 이만저만이 아니다. 1) 추가 요구사항이 있으면 여기저기 추가해야한다. 2) 수정사항이 있으면 연계된 다른 곳도 손봐야한다. 이렇게되면! 연계된 모든 곳까지 고려해야해서 신경쓸게 많아진다. → 신경쓸 곳이 늘어나면 결국 실수를 하게 된다. 그래서 요즘 '객체 지향과 디자인 패턴' 책을 읽으며 나름의 리팩토링을 시도하고 있다. 초보개발자인 나도 굉장히 쉽게 이해할 수 있었고, 따라하고 싶은 의지가 활활 타오르는 책이라서 정리해놓고 봐야겠다. (개인적으로 다시 보면 좋을 것들이라고 생각한 것들을 정리해서 내용이 부실 그 자체일 수 있습니다!) 객체가 갖는 책임(기능)의 크기는 작을수..
https://programmers.co.kr/learn/courses/30/lessons/12903 알고리즘 연습 - 가운데 글자 가져오기 | 프로그래머스 실행 결과가 여기에 표시됩니다. programmers.co.kr 1 2 3 4 5 6 7 8 9 class Solution { public String solution(String s) { String answer = ""; answer = s.length() % 2 == 0 ? s.charAt(s.length()/2 - 1) + "" + s.charAt(s.length()/2) + "" : s.charAt(s.length()/2) + ""; return answer; } } http://colorscripter.com/info#e" target="..
https://programmers.co.kr/learn/courses/30/lessons/12901 알고리즘 연습 - 2016년 | 프로그래머스 실행 결과가 여기에 표시됩니다. programmers.co.kr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Solution { public String solution(int a, int b) { int sum = 0; for(int i = 1; i
https://programmers.co.kr/learn/courses/30/lessons/42748 알고리즘 연습 - K번째수 | 프로그래머스 실행 결과가 여기에 표시됩니다. programmers.co.kr 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 import java.util.Arrays; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; int num = 0; for(int n = 0; n
https://programmers.co.kr/learn/courses/30/lessons/42840 알고리즘 연습 - 모의고사 | 프로그래머스 실행 결과가 여기에 표시됩니다. programmers.co.kr 수포자가 찍는 패턴을 배열에 저장해서 패턴과 같으면 맞은 개수를 카운트했다. 셋 중 가장 많이 맞은 개수를 max에 담았다가 사람마다 맞은 개수가 max와 같으면 list에 담아 반환한다. 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 import java.util.*; class Solution { public int[] solut..
- Total
- Today
- Yesterday
- 문자열 내 마음대로 정렬하기
- 다음 맵 api
- 객체지향과 디자인패턴
- 자바
- 최솟값
- codility
- 기능개발
- 완주하지 못한 선수
- 예매 알림
- java
- 텔레그램
- 알고리즘
- FrogJmp
- 더 나은 내일
- 프로그래머스
- 파이팅코리아
- Spring
- 스프링 부트
- 카카오인턴
- 안드로이드 스튜디오
- AWS
- cgv
- 쇠막대기
- K번째수
- API
- 124 나라의 숫자
- 타겟 넘버
- 노션트렐로광고X
- json
- 맵 api
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |