본문 바로가기

분류 전체보기118

VO & DTO VO(Value Object) : 값 객체 , 불변 객체VO는 불변해야 하며, 이는 동일하게 생성된 두 VO는 영원히 동일한 상태임을 유지되어야 한다는 것을 의미합니다. 또한 VO는 잘못된 상태로는 만들어 질 수 없습니다. 따라서 인스턴스 된 VO는 항상 유효하므로 버그를 줄이는데 유용합니다.  특징불변성 : 모든 필드는 final로 선언되어 변경될 수 없습니다. 생성자로 초기화 되며, 이후 값이 변경되지 않습니다.Equals & HashCode : VO는 값이 같다면 동일한 객체로 간주되므로 equals() 와 hascode() 메서드를 잘 구현해야 합니다.간단한 구조 : 주로 필드와 그 필드의 값을 반환하는 메서드들로 구성됩니다. DTO ( Data Transfer Object)메소드, 클래스, 프로.. 2024. 5. 23.
get vs find 조회 메서드 이름을 지을 때 주로 get, find를 사용합니다. 이 둘은 명확한 차이가 존재합니다.  getreturn type이 T 인 경우 (일반적으로 데이터가 없을 시 exception 을 throw 합니다.) findreturn type이 Optional 인 경우 2024. 5. 23.
디자인패턴 : 전략 패턴 디자인 원칙 1"바뀌는 부분은 따로 뽑아서 캡슐화한다. 그러면 나중에 바뀌지 않는 부분에는 영향을 미치지 않고 그 부분만 고치거나 확장할 수 있다." 이 개념은 매우 간단하지만 모든 디자인 패턴의 기반을 이루는 원칙이다.  달라지는 부분을 찾아서 나머지 코드에 영향을 주지 않도록 캡슐화한다.그러면 코드를 변경하는 과정에서 의도치 않게 발생하는 일을 줄이면서 시스템의 유연성을 향상시킬 수 있다.이것이 바로 디자인 원칙 중 하나인 '변하는 부분과 변하지 않는 부분을 분리하라' 는 원칙이다.// 지불 방법을 위한 인터페이스 정의interface PaymentStrategy { void pay(int amount);}// 신용카드로 지불하는 전략class CreditCardPayment implements.. 2024. 5. 9.
제네릭 명명 관례 타입 매개변수는 일반적으로 변수명처럼 소문자로 사용해도 문제는 없다. 하지만 일반적으로 대문자를 사용하고 용도에 맞는 단어의 첫글자를 사용하는 관례를 따른다. E ( Element ) : 주로 컬렉션 또는 배열의 요소 타입을 지정할 때 사용됩니다.K ( Key ) : 맵(Map) 과 같은 키 - 값 쌍의 구조에서 키의 타입을 나타내는데 사용됩니다.V ( Value ) : 맵(Map) 과 같은 키 - 값 쌍의 구조에서 값의 타입을 나타내는데 사용됩니다.T ( Type ) : 일반적인 타입을 나타낼 때 사용되며, 어떤 특정한 종류보다는 범용적인 경우에 사용됩니다.N ( Number ) : 숫자 타입을 타내낼 때 사용됩니다.S,U,V, etc : 두 번째, 세 번째, 네 번째 타입 매개변수를 지정할 때 사용됩.. 2024. 5. 8.