속성값 3개(int형, int형, boolean형이라고 가정)
총 8개의 경우의 수가 나올 수 있잖아요?
근데 파라미터가 1개씩인 생성자의 경우에는 int형 속성 2개를 각각 오버로딩하고 싶을 때
데이터 타입이 겹치고 하고 1개씩이라 순서도 못 바꿔서 오버로딩을 못하는데
어떤 방식으로 우회해서 사용할 수 있나요? 그냥 새로운 파라미터(사용하지 않는)를 하나 넣어주기에는 좀 그렇지 않아요?
속성값 3개(int형, int형, boolean형이라고 가정)
총 8개의 경우의 수가 나올 수 있잖아요?
근데 파라미터가 1개씩인 생성자의 경우에는 int형 속성 2개를 각각 오버로딩하고 싶을 때
데이터 타입이 겹치고 하고 1개씩이라 순서도 못 바꿔서 오버로딩을 못하는데
어떤 방식으로 우회해서 사용할 수 있나요? 그냥 새로운 파라미터(사용하지 않는)를 하나 넣어주기에는 좀 그렇지 않아요?
생성자는 걍 정수 3개 받는거 하나 만들고 static으로 각 경우마다 팩토리 메서드 만드는게 좋을듯
나도 이게 나은듯
이 방법으로 하던가 아니면 빌더 패턴으로 가 굳이 dto 만드려고 하는건가 생성자 오버로딩 다 해줘야 하는 경우는 잘 없을텐데
그냥 setter로 넣으면 안되는 상황임? 편법이면 래퍼 클래스로 싸거나 형변환해서 데이터 타입 바꾸는 방법이라던가 필드깂 하나 가지는 클래스를 만든다거나 더미 필드를 하나 추가해서 하나는 생성자 하나로 그냥 넣고 나머지 넣을 땐 new Ex(1, null) 뭐 이렇게 넣든가?
걍 생성하고 메서드로 넣는게 낫지않을까 생성할때 같이 초기화를 시켜줘야하는 이유가 있음? - dc App
근데 저렇게 모든 경우의 생성자를 만들어주는 기능이 롬복에 있음? 갑자기 궁금해지네 - dc App
대충 빌더가 비슷한 역할하네
이펙티브 자바에 관련 내용 있더라 생성자를 지양하고 빌더패턴 혹은 싱글톤으로 내용을 주입하라고 - dc App