일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Rxjava2
- RxAndroid
- Android
- 코틀린
- 안드로이드 구글맵
- android push
- flutter firestore
- C++
- Flutter TextField
- Android P
- Django REST Android
- RxJava
- UWP
- 안드로이드
- livedata
- Java
- dart
- mfc
- Python
- C/C++
- Kotlin
- Django REST framework
- kodility
- C
- FLUTTER
- NDK
- 프로그래머스
- Django REST
- android architecture component
- 알고리즘
- Today
- Total
목록2018/10/04 (3)
개발하는 두더지
[Effective Java 규칙27] 가능하면 제네릭 메서드으로 만들 것Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 제네릭을 사용하면 클래스 뿐만 아니라 메서드도 효과를 본다. static 유틸 메서드는 특히 제네릭화하기 좋다. Collections에 구현된 모든 알고리즘 메서드는 제네릭으로 구현되어 있다. 두 집합의 합집합을 구하는 메서드를 제네릭을 이용하여 구현하면 아래와 같다.public static Set union(Set s1, Set s2) { Set result = new HashSet(s1); result.addAll(s2); return result; }컴파일러는 메서드에 전달된 인자의 자료형을 보고 무슨 타입인지 알아 낸다. ..
[Effective Java 규칙26] 가능하면 제네릭 자료형으로 만들 것Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 제네릭 자료형은 클라이언트가 형변환을 해야만 사용할 수 있는 자료형보다 안전하고 사용하기 쉽다. 코드가 이미 작성되어 있다면 기존 자료형을 제네릭 자료형으로 변환해야 한다. 그러면 기존 코드를 깨지 않고도 더 좋은 API를 제공할 수 있다.
[Effective Java 규칙25] 배열대신 리스트를 써라Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 제네릭과 배열이 따르는 자료형 규칙은 서로 많이 다르다. 배열은 공변 자료형이자 실체화 가능 자료형이다. 제네릭은 불변 자료형이며, 실행시간에 형인자의 정보는 삭제된다. 따라서 배열은 컴파일 시간에 형 안전성을 보장하지 못하며, 제네릭은 컴파일 시점에 형 안전성을 확보하고 실행 시 형인자의 정보가 삭제된다. 그래서 제네릭을 사용하지 않고 작성된 레거시 코드와도 문제없이 연동이 되는 것이다. 배열은 런타임시 타입이 그대로이다.Object[] obj = new Object[0] 제네릭은 런타임시 제네릭 정보가 삭제된다List list = new ..