Data Class
계층간의 데이터를 전달하기 위한 DTO
public class JavaPersonDTO {
private final String name;
private final int age;
//생성자, getter, equals, hashCodes, toStrings .....
- IDE, lombok등을 활용하여 빠르게 작성할 수 있지만 클래스가 장황해지거나 클래스 생성 이후 추가적인 처리를 해줘야 함
data class PersonDTO (
val name: String,
val age: Int,
)
- data 키워드를 붙여주면 equals, hashCode, toString을 자동으로 만들어줌
- 8강에서 나온 named argument를 활용하면 builder pattern을 쓰는 효과도 있음
Enum Class
public enum JavaCountry {
KOREA("KO"),
AMERICA("US");
private final String code;
JavaCountry(String code) { this.code = code; }
public String getCode() { return code; }
}
- enum 클래스의 특징
- 추가적인 클래스 상속 불가
- 인터페이스 구형 가능
- 각 코드(KOREA, AMERICA)가 싱글톤임
enum class Country(
val code: String
) {
KOREA("KO"),
AMERICA("US")
;
}
When의 활용
Java