전체 글 (234) 썸네일형 리스트형 [Java 중급] 타입 안전 열거형 패턴 타입 안전 열거형 패턴앞선 포스팅의 문제를 해결하기 위해 나온 것이 바로 타입 안전 열거형 패턴이다. 여기서 enum은 열거를 뜻하는 enumeration의 줄임말이다. 여기서 중요한 것은 타입 안전 열거형 패턴을 사용하면 나열한 항목만 사용할 수 있다는 것이다. public class ClassGrade { public static final ClassGrade BASIC = new ClassGrade(); public static final ClassGrade GOLD = new ClassGrade(); public static final ClassGrade DIAMOND = new ClassGrade();} public class ClassRegMain { public sta.. [Java 중급] 열거형 - ENUM 문자열과 타입 안정성자바가 제공하는 열거형(Enum Type)을 이해하기 위해서 예제를 먼저 살펴보자. 예제비즈니스 요구사항고객은 3등급으로 나누고 , 상품 구매시 등급별로 할인을 적용한다. package enumeration.ex0;public class DiscountService { public int discount(String grade, int price) { int discountPercent =0; if(grade.equals("BASIC")) { discountPercent = 10; } else if(grade.equals("GOLD")) { discountPercent = 20;.. [Java 중급] Class 클래스 Class 클래스클래스의 정보(메타데이터)를 다루는데 사용. 실행 중인 자바 애플리케이션 내에서 필요한 클래스의 속성과 메서드에 대한 정보를 조회하고 조작할 수 있다. 클래스의 이름, 슈퍼클래스, 인터페이스, 접근제한자 등과 같은 정보 조회리플렉션: 클래스에 정의된 메서드, 필드, 생성자 등을 조회동적 로딩과 생성: Class.forName() 메서드를 사용하여 클래스를 동적으로 로드하고, 새로운 인스턴스를 생성할 수 있다. 어노테이션 처리 package lang.clazz;import java.lang.reflect.Field;import java.lang.reflect.Method;public class ClassMetaMain { public static void main(String[] ar.. [Java 중급] 오토 박싱 오토 박싱 - Autoboxingpublic class AutoboxingMain1 { public static void main(String[] args) { //Primitive -> Wrapper int value = 7; Integer boxedValue = Integer.valueOf(value); //Wrapper -> Primitive int unboxedValue = boxedValue.intValue(); System.out.println("boxedValue = " + boxedValue); System.out.println("unboxedValue = " + unboxedValu.. [Java 중급] 자바 래퍼 클래스 자바 래퍼 클래스자바는 기본형에 대응하는 래퍼 클래스를 기본으로 제공한다. byte -> Byteshort -> Shortint -> Integerlong -> Longfloat -> Floatdouble -> Doublechar -> Characterboolean -> Boolean=> 자바가 제공하는 기본 래퍼클래스는 두 가지 특징을 가진다. 1. 불변이다. 2. equals로 비교해야 한다. 예제 package lang.wrapper;public class WrapperClassMain { public static void main(String[] args) { Integer newInteger = new Integer(10); // 삭제 예정, 대신 valueOf 사용 권장 .. [Java 중급] 래퍼 클래스 - 기본형의 한계 기본형의 한계자바는 객체 지향 언어이다. 그런데 자바 안에 객체가 아닌 것이 있다. int, double 같은 기본형이다. 따라서 객체 지향 프로그램의 장점을 살릴 수 없다. 대표적인 예로 메서드를 제공할 수 없고, null 값을 가질 수 없다는 점이 그렇다. 예제기본형의 한계를 이해하기 위해, 두 값을 비교해서 다음과 같은 결과를 출력하는 간단한 예제를 보자. package lang.wrapper;public class MyIntegerMethodMain0 { public static void main(String[] args) { int value = 10; int i1 = compareTo(value, 5); System.out.println("i1 =.. [Spring 기본] 컨테이너에 등록된 모든 빈 조회 컨테이너에 등록된 모든 빈 조회컨테이너에 실제 스프링 빈이 잘 등록되었는지 확인해보자. public class ApplicationContextInfoTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("모든 빈 출력하기") void findAllBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Obj.. [Spring 기본] 스프링 컨테이너 생성 스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotaionConfigApllicationContext(AppConfig.class); ApplicationContext를 스프링 컨테이너라 한다. ApplicationContext는 인터페이스이다. XML 기반으로 만들 수 있고, 애노테이션 기반으로 만들 수도 있다. 스프링 컨테이너 생성 @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { .. 이전 1 ··· 4 5 6 7 8 9 10 ··· 30 다음