일급 컬렉션이란?컬렉션을 포함한 클래스가 다른 멤버 변수 없이 단 하나의 컬렉션만 멤버 변수로 가지는 것즉,컬렉션 (Collection) 을 포장하여 그 자체를 하나의 클래스로 만드는 것을 말한다.비즈니스 로직상에서 사용되는 데이터에 대한 유효성 검사비즈니스 규칙 적용 등내부에서 캡슐화하여 관리할 수 있게됨. 일급 컬렉션 예시public class LottoNumbers { private final Set numbers; public LottoNumbers(Set numbers) { if (numbers == null || numbers.size() != 6 || !numbers.stream().allMatch(num -> 1 PayType.isNaverPay(pay.getPayType())); } pu..
@Bean public PasswordEncoder passwordEncoder() { return PasswordEncoderFactories.createDelegatingPasswordEncoder(); }PasswordEncoder 빈 주입return new BCryptPasswordEncoder(); -> return PasswordEncoderFactories.createDelegatingPasswordEncoder();으로 변경하였다.Password Storage :: Spring SecuritySpring Security’s PasswordEncoder interface is used to perform a one-way transformation of a password to let the..
package org.example.알고리즘.행렬의덧셈; import java.util.Arrays; /**/ class Solution { public static void main(String[] args) { Solution solution = new Solution(); System.out.println(Arrays.deepToString(solution.solution(new int[][]{{1, 2}, {2, 3}}, new int[][]{{3, 4}, {5, 6}}))); } public int[][] solution(int[][] arr1, int[][] arr2) { ArrayClass arrayClass1 = new ArrayClass(arr1); ArrayClass arrayClass..
Map 에 대한 이터레이션fun main() { val binaryReps = TreeMap() for (c in 'A'..'F') { val binary = Integer.toBinaryString(c.code) // 'A'.code == 65 ==> 이진표현값으로 binaryReps[c] = binary // binaryReps.put(c, binary) } for ((letter, binary) in binaryReps) { println("$letter = $binary") } }자바에서의 TreeMap 과 구조가 거의 비슷합니다.해당 코드는 A ~ F 까지의 이진값을 맵구조에 저장합니다.트리맵은 map 구조의 키 에 정렬을 줄 수 있다는 장점이 있습니다리스트(List) 에 대한 이터레이션과 인덱..
변수 사용시 private final x = 100; 한번 초기화되는 경우 값을 변경할 수 없다. 변경되지 않는 상수를 정의가능 VO 나 엔티티의 경우 수정되지 않아야하는 경우가 대부분이기에 final 키워드를 변수에 많이 사용한다라고 생각할수있지만, VO 나 엔티티는 거의 final 키워드의 사용을 못한다. 엔티티의 경우 지연로딩이 존재하는데, 프록시 객체를 생성 -> 프록시 객체에서 리플렉션 API 수행 리플렉션 수행시 -> 기본 생성자와 setter 가 필요한 상황 하지만 final 은 기본적으로 setter 를 사용할 수 없음. VO 의 경우에는 로직에 따라 초기화 시점에 , 애초에 모든 객체나 데이터를 들고오지 못하는 경우가 있기에, 사용하기 까다롭다.. 메서드에 사용되는 경우 public fi..