아직 한참 읽고 있는 도중이기는 하지만 Head First Design Patterns 라는 책이 디자인패턴에 대한 설명 뿐만 아니라, 해당 디자인 패턴을 도입하게 되기까지의 시나리오를 유머러스하게 잘 풀어 이야기 해 주어서 빠르고 쉽게 이해하고 받아들일 수 있게 해 주는 것 같다. 아직 읽은 부분보다 읽어야 하는 부분이 산더미 처럼 많은데, 점차 책을 읽어나가면서 현재 글을 쓰면서 부족하게 작성하고 넘어간 부분들은 다시 업데이트 하면서 추후 복습하려고 한다. Strategy Patterns 알고리즘군(群)을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든 디자인 패턴. 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 알고리즘군(群)을 정의하고 각각을 캡슐화하여 교환해..
Object Object 클래스는 모든 클래스의 최고 조상으로, 모든 인스턴스들이 가져야 할 기본적인 11개의 메서드만을 가지고 있다. toString() 어떤 인스턴스에 대한 정보를 String으로 제공할 목적으로 정의된 메서드이다. Object 클래스에서는 클래스이름@16진수 해시코드 를 반환하도록 구현되어 있다. public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 클래스를 만들면서 원하는 출력 방식이 있다면 toString() 메서드를 적절히 오버라이딩 해 주어야 한다. 그 방식으로는 대체로 인스턴스나 클래스에 대한 정보나 인스턴스 변수들의 값을 문자열로 반환하도록 오버라이딩 ..
StringBuffer 저장하고 있는 문자열을 변경할 수 있는 클래스이다. 내부적으로 문자열 편집을 위한 버퍼를 가지고 있으며, 인스턴스를 생성할 때 그 크기를 직접 지정해 줄 수도 있다. default size는 16으로 설정되어 있다. 편집 중인 문자열의 길이가 버퍼의 길이를 초과하면 버퍼의 길이를 늘려주는 작업이 추가로 수행되어야 한다 → 효율성 하락 인스턴스 생성시에 버퍼로 사용하기 위한 char형 array가 생성되는 것으로 알고 있었는데, 실제 코드를 열어 보면 byte array 타입으로 멤버변수가 선언되어 있다. 내부 코드를 조금 살펴보면 문자열이 UTF-16과 LATIN1 방식 두 가지 인코딩 방식으로 존재할 수 있기 때문에 이를 모두 지원하기 위한 방법인 것으로 생각된다. 그래서 인스턴..
- Total
- Today
- Yesterday
- 백준
- DP
- stack
- 큐
- Sorting
- 정렬
- 멀리 뛰기
- 코딩테스트
- 연습문제
- 그래프
- dfs
- 완전탐색
- Heap
- greedy
- 해시
- 알고리즘
- BFS
- Algorithm
- 자바
- 자료구조
- 힙
- dynamic programming
- 프로그래머스
- Queue
- programmers
- 동적계획법
- 데브코스
- java
- 탐욕법
- Hash
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |