본문 바로가기

☕Java101

자바 지네릭 지난번에 enum 설명에 이어서, enum과 마찬가지로 자바 1.5에서 등장한 지네릭에 대해서 이야기해보려고 한다. 지네릭은 클래스나 메서드에서 사용할 데이터 타입을 제한한다. 이렇게 함으로써 타입 안전성을 제공하고, 변수 사용 시에 타입 체크나 타입 캐스팅을 수행하지 않아도 되는 이점이 있다. 사용 방법지네릭 클래스지네릭 클래스는 클래스 이름 뒤에 "타입 변수 T"를 명시해 준다. public class A { T item; public T getItem() { return item; } public void setItem(T item) { this.item = item; }} A a = new A();a.setItem("abc");String s.. 2024. 5. 19.
enum 어떻게 잘 활용할까? 자바 1.5 버전부터 도입된 enum은 여러 상수들을 한 곳에서 정의하기 위해 사용하는 타입이다. 벌써 자바 21 버전이 등장했지만 아직도 enum의 매력을 모르는 이들을 위해 enum을 소개하려고 한다. 먼저, enum의 특징에 대해 간단히 정리하고 활용법을 설명하겠다. Enum의 특징enum은 상수 이름, 멤버 변수, 생성자, 메서드로 구성된다.public enum Sns { // 상수의 이름과 필드에 해당하는 값들 NAVER("naver", "네이버"), KAKAO("kakao", "카카오"), GOOGLE("google", "구글"), APPLE("apple", "애플"), X("x", "트위터"), INSTAGRAM("instagram", "인스타그램"); .. 2024. 5. 8.
스프링 국제화(Internationalization, I18N) 스프링 웹 MVC는 국제화를 단순화하도록 지원해 준다. 국제화를 위해서는 LocaleResolver, MessageSource, LocaleChangeInterceptor의 빈 등록이 필요하다. LocaleResolver는 사용자의 로케일을 얻는다. AcceptHeaderLocaleResolver - 요청의 Accept-Language 헤더 상의 로케일을 반환한다. SessionLocaleResolver - 세션에 저장된 로케일을 반환한다. FixedLocaleResolver - 고정된 기본 로케일을 반환한다. MessageSource는 현재 로케일에 맞는 메시지를 가져온다. ResourceBundleMessageSource - 특정 빈 이름으로 자원 번들에 접근하는 MessageSource 구현체 Re.. 2024. 4. 2.
Querydsl 주요 내용 정리 Querydsl을 사용하면 컴파일 시점에 SQL 오류를 잡을 수 있음 Q클래스(타입)를 직접 생성(new)하거나 이미 생성돼 있는 객체를 사용하면 됨 cf) Q클래스는 메타모델 클래스라고도 함. 이는 Criteria API나 Querydsl에서 보편적으로 쓰이는 용어. 보통은 생성된 객체 사용하고, 같은 테이블을 조인해야 하는 경우에만 직접 작성 사용 방법(단건 조회) JPAQueryFactory queryFactory; // 직접 생성하거나 스프링을 통해 주입 queryFactory.select(Q타입).from(Q타입).where(Q타입.필드.eq(조건)).fetchOne(); queryFactory.selectFrom(Q타입).where(Q타입.필드.eq(조건)).fetchOne(); queryFa.. 2024. 3. 27.
728x90