[EffectiveJava] item53 - 가변인수는 신중히 사용하라
04 Jul 2023 EffectiveJava가변인수(varargs) 메서드
명시한 타입의 인수를 0개 이상 받을 수 있다.
가변인수 메서드를 호출하면, 가장 먼저 인수의 개수와 길이가 같은 배열을 만들고 인수들을 이 배열에 저장하여 가변인수 메서드에 건네준다.
가변인수
다음의 가변인수 활용 예시를 보자.
가변인수(varargs) 메서드
명시한 타입의 인수를 0개 이상 받을 수 있다.
가변인수 메서드를 호출하면, 가장 먼저 인수의 개수와 길이가 같은 배열을 만들고 인수들을 이 배열에 저장하여 가변인수 메서드에 건네준다.
다음의 가변인수 활용 예시를 보자.
다중정의(Overloading)란 매개변수를 다르게 한다면 메소드의 이름을 같게하여 정의하는것을 말한다.
먼저 예시를 살펴보자.
public class CollectionClassifier { public static String classify(Set<?> s) { return <span...
이번 아이템에서는 API 설계 요령들을 정리한 회차이다. 이 요령들을 잘 활용하면 배우기 쉽고, 쓰기 쉬우며, 오류 가능성이 적은 API를 만들 수 있다.
항상 표준 명명 규칙을 따라야 한다. 이해할수 있고, 같고 패키지에 속한 다른 이름들과 일관되게 짓는게 최우선 목표다.
그다음...
Java에서의 직렬화/역직렬화를 알아봤다면 이번엔 Spring에서의 직렬화/역직렬화에 대해 알아보도록 하자.
먼저 Spring의 역직렬화를 정리하게된 계기가 있다면 ClassCastException
에러를 만나고 나서 였다.
왜 ClassCastException
가 발생했을까?
간단한 예시를 들어보자면, FeignClient
를 이용해 MemberDto의 객체를 데이터를 A프로젝트에서 B프로젝트로 가져오는 중
ResponseData
…
자바에서 직렬화(serialize)와 역직렬화(deserialize)에 대해 간단하게 톺아보고 가도록 하자.
직렬화란 자바의 객체(Object)의 상태를 바이트 형태의 데이터 스트림으로 변환하는 것을 말한다.
데이터 스트림은 흔히 우리가 자주 쓰는 json
형식이 될 수 있고 또는 xml
과 같은 다양한 형태로 변환이 가능하다.
…