전체 글322 이펙티브 자바 6장 - enum int 상수 대신 열거 타입을 사용하라 열거 타입 자체는 클래스이며 상수 하나당 자신의 인스턴스를 하나씩 만들어 public static final 필드로 공개하며 열거 타입은 밖에서 접근 할 수 있는 생성자를 제공하지 않으므로 final이다. 인스턴스를 직접 확장하거나 생성할 수 없으므로 하나씩만 존재하는 것ㅇ이 보장된다. 열거 타입은 근본적으로 불변이기에 모든 필드는 final이여야한다. 기존 열거 타입에 상수별 동작을 혼합해 넣는 경우 switch문을 사용하는 것이 좋다. 사용시기 필요한 원소를 컴파일 타임에 다 알 수 있는 상수 집합이라면 항상 열거 타입을 사용하며, 열거 타입에 정의된 상수 개수가 영원히 고정 불변일 필요는 없다. ordianl 메서드 대신 인스턴스 필드를 사용 열거 타입 상수에.. 2019. 12. 12. 이펙티브 자바 5장 - 제네릭 2 이왕이면 제네릭 메서드로 만들라 메서드 역시 제네릭으로 만들 수 있으며 클라이언트에서 입력 매개 변수와 반환값을 명시적으로 형변환해야하는 메서드보다 안전하며 사용하기도 쉽다. 재귀적 한정 타입 : 자기 자신이 들어간 표현식을 사용하여 타입 메개변수의 허용범위를 정하는 것 한정적 와일드 카드를 사용해 API 유연성을 높여라 유연성을 극대화하려면 원소의 생산자나 소비자용 입력 매개변수에 와일드카드 타입을 사용하게되면 API가 유연해진다. 와일드 카드 공식 펙스 (PECS) : 매개변수화 타입 T가 생산자라면 2019. 12. 5. 이펙티브 자바 5장 제네릭 : 컬렉션이 담을 수 있는 타입을 컴파일러에게 알려주기에 컴파일러가 스스로 형변환 코드를 추가할 수 있으며, 다른 타입의 객체를 넣으려는 시도를 차단하여 안전하고 명확한 프로그램을 만들 수 있다. 제네릭 타입 : 제네릭 클래스와 제네릭 인터페이스를 통틀어 부르는 말이며 클래스와 인터페이스 선언에 타입 매개 변수를 사용하면 이를 제네릭 클래스, 제네릭 인터페이스라 한다. 로타입은 사용하지 말라 로타입 : 제네릭 타입에서 매개변수를 전혀 사용하지 않는 것을 말한다. 로 타입을 사용하면 제네릭이 주는 안전성과 표현력을 버리게 되는 것이며 이 타입은 호환성을 위해 만들어 놓은 것이기에 사용하지 않아야 한다. 와일드 카드와 비교 했을 시에도 와일드 카드는 null이외에는 어떤 원소도 넣을 수 없게 되며 안.. 2019. 12. 3. 국제화 JSP 이용 java - com.xxxx.xxx - Config - LocaleConfig resources - message - message.properties 위의 사진과 같이 message_언어.properties로 파일을 만들며 _언어를 입력하지 않는 것이 디폴트로 설정된 언어다. @Configuration public class LocaleConfig implements WebMvcConfigurer { //bean 이름을 설정해주지 않으면 method 이름과 같아 이름 변경 @Bean(name = "localeResolver") public LocaleResolver getLocaleResolver() { //세션 사용하려는 경우 // SessionLocaleResolver slr = new Sessio.. 2019. 12. 2. 이전 1 ··· 33 34 35 36 37 38 39 ··· 81 다음