본문 바로가기

Java192

유효성 검사 / 데이터 검증 (Validation) Spring boot 2.3 버전부터는 starter-validation 라이브러리를 추가해야한다.Validation 관련 어노테이션- @Size : 문자의 길이 조건- @NotNull : null 값 불가- @NotEmpty : @NotNull + ""값 불가- @NotBlank : @NotEmpty + ""값 불가- @NotBlank : 값이 null인지를 체크함과 동시에 공백인지 여부도 확인해서 유효성 검사를 한다.(LocalDateTime이나 int 타입에서는 사용 불가) - @Past : 과거 날짜- @PastOrPresent : @Past + 오늘 날짜- @Future : 미래 날짜- @FutureOrPresent : @Future + 오늘 날짜 - @Pattern : 정규식을 통한 조건 - .. 2024. 5. 31.
UML 표기법 + 는 publicgetOne은 메소드 이름괄호 안에 있는 것은 매개 변수콜론(:) 뒤에는 리턴 type   public class MathBean { public void printClassName(){ System.out.println("MathBean"); } public void printNumber(int number){ System.out.println(number); } public int getOne(){ return 1; } public int plus(int x, int y){ return x + y; }} 2024. 5. 28.
헷갈리는 용어 매개변수(parameter) : 메소드의 정의 부분에 나열되어있는 변수들전달인자(argument) : 메소드를 호출할 때 전달되는 실제 값을 의미한다. 2024. 5. 28.
java Overflow(오버플로우) Overflow(오버플로우)변수의 선언된 데이터 유형 범위를 벗어난 값을 할당 할때 발생한다. Java에서는 계산 결과가 최댓값을 넘거나, 최솟값보다 작을 경우 음수는 양수로, 양수는 음수로 바뀌는 문제가 발생한다.이를 오버플로우라고 한다. 정수형의 오버플로우오버플로우 :자료형이 표현할 수 있는 범위 중 최댓값을 벗어날 경우 발생한다.최댓값 초과 시  -> 해당 타입의 최솟값으로 값이 순환한다.     예시코드public static void main(String[] args) { int value = 10; int maxInt = Integer.MAX_VALUE; System.out.println(value + 1); System.out.println(maxInt + 1);}  아.. 2024. 5. 25.
팩토리 메서드 패턴 Factory method pattern (생성패턴)객체가 생성되는 과정을 숨기고 완성된 인스턴스만 반환하는 패턴이다. new연산자로 객체를 생성하지 않고, 객체의 생성과정을 다른 객체에 맡겨서 리턴 받아서 사용한다이렇게 객체 생성을 대신 해주는 클래스를 Factory 라고 한다. 장점 : 코드 간 결합도를 낮출 수 있다. 예시)  public class Bus {} public class BeanFactory { public Bus getBus(){ return new Bus(); }} Bus 객체를 만들 때, new 연산자로 생성하지 않고 BeanFactory 클래스를 통해서 객체를 사용한다.public class BeanFactoryMain { public static .. 2024. 5. 16.
Java Reflection 알아보기 Java Reflection은 이름별로 클래스 및 데이터 구조에 대한 정보의 동적 검색을 지원하고,실행중인 Java 프로그램 내에서 해당 정보를 조작할 수 있습니다. Java Reflection 활용 예시 : Framework, IDE에서 내부적으로 동적 바인딩 기능 사용(프로그램 실행 중 동적으로 클래스 정보 가져옴)ex. IntelliJ 자동완성, Spring Framework Annotation,@Getter,@Setter 도 리플렉션을 사용하여 필드 정보를 가져와 구현한다.ClassLoader 자바 클래스 로더는 런타임 시 클래스를 동적으로 JVM에 로드하는 역할을 수행한다.이때, Class 정보를 CLASSPATH(클래스 파일을 찾는데 기준이 되는 파일 경로)에서 찾는다. 만약a() 메서드를 가.. 2024. 5. 16.