본문 바로가기
728x90
반응형
SMALL

2016/084

Effective Java 2 - 규칙26 - "가능하면 제네릭 자료형으로 만들것" - 제네릭 자료형은 클라이언트가 형변환을 해야만 사용할 수 있는 자료형보다 안전할 뿐 아니라 사용하기도 쉽다. - 새로운 자료형을 설계할 때는 현변환 없이도 사용할 수 있도록 하라. - 시간 있을때 마다 기존 자료형을 제네릭 자료형으로 변환하라. - 기존 클라이언트 코드를 깨지 않고도 새로운 사용자에게 더 좋은 API를 제공할 수 있게 될 것이다. 제네릭 자료형을 직접 만드는 것은 까다롭지만 배울만한 가치는 있다. 아래의 source code 를 살펴 보자.public class Stack { private Object[] elements; private int size; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack() { e.. 2016. 8. 6.
Effective Java 2 - 규칙25 - "배열 대신 리스트를 써라" 아래의 코드는 문법적으로는 문제가 없다. // 실행 중에 문제를 일으킴 Object[] objectArr = new Long[1];l objectArr[0] = "I am younghoi kim"; // ArrayStoreException 발생하지만 아래의 코드는 아예 컴파일이 되지 않는다. // 컴파일 되지 않는 코드 List oList = new ArrayList(); // 자료형 불일치 oList.add("I am younghoi kim");둘다 자료형 안에 String 객체를 넣을 수 없다는 것은 동일하다. 컴파일 시에 문제를 발견하는 편이 더 낫다. 성능이 저하되고나 코드가 길어질 수는 있겠으나, 형 안전성과 호환성은 좋아진다. 만일 배열과 제네릭을 뒤섞어 쓰다가 컴파일 오류나 경고 메시지를 만.. 2016. 8. 6.
Effective Java 2 - 규칙24 - "무점검 경고(unchecked warning)를 제거하라" - 무점검 경고는 중요하다. 무시하지 마라. - 모든 무점검 경고는 프로그램 실행 도중에 ClassCastException이 발생할 가능성을 나타낸다. - 최선을 다해 그런 메시지를 제거하라. - 제거할 수 없는 경우 형 안정성을 보장한다는 사실을 입증할 수 있다면, @SuppressWarning("unchecked") annotation을 사용해 해당 경고를 억제하라. - 어노테이션 적용 범위는 최소화 하라. - 경고 메시지를 억제한 이유를 주석에 써 놓아야 한다. // @SuppressWarnings의 적용 범위를 줄이기 위해 지역 변수 사용 public T[] toArray(T[] a) { if ( a.length size ) { a[size] = null; } return a; } 2016. 8. 6.
영화 부산행 후기 한국인 정서를 잘 건드리고 있는 시원한 액션 좀비극 3주전 주말 아내가 혼자 보고와서 너무 재미있었다며 추천해준 영화. 좀비영화를 너무 좋아하는 아내의 추천으로 지난 월요일 퇴근하면서 혼자 가서 관람~ 일단 처음엔 아무런 기대없었다가 아내의 적극 추천으로 약간 기대감을 봤다. 뭐랄까.. 일단 한국에서 이런영화가?? 라는 신선함. 중간중간 외국좀비영화에서는 볼수 없는 약간의 억지스러운 감동을 주려는 듯한 어색함. 마동석의 아재개그스러운 유머. - 실웃음 짓게 한다. 그리고 이사람아...... 이분 정말 ㅋㅋㅋㅋㅋㅋ 물론 이분 뒤에 서 있는 한국의 님비스러운 모습을 잘 보여준 여러 사람들에게도 짜증스러운 박수를 보낸다. 무튼 이분 정말 대단했다. 이분이 어떨 결말을 맞이하게 될지 영화 내내 기대하고 궁금했는.. 2016. 8. 5.
728x90
반응형
LIST