Develop Artifacts/Java

Java - 08. record sealed enum

보일러플레이트를 없앤 Java의 세 가지 타입 — record, sealed, enumPoint 클래스를 만든다고 하자. x, y 필드, 생성자, getter, equals, hashCode, toString — Java에서 불변 데이터 객체 하나를 제대로 만들려면 50줄이 필요했다. Lombok @Value로 줄여봤지만, 그것은 서드파티 라이브러리에 대한 의존이었다.Java 16에 record가 들어왔다. public record Point(double x, double y) {} — 한 줄. 컴파일러가 나머지를 다 만들어 준다. (JEP-395) 왜 Java는 30년이나 지나서야 이 한 줄을 가능하게 했을까? 이 글은 record, sealed, enum 세 가지 현대 타입이 기존 코드를 어떻게 바꾸..

Develop Artifacts/Java

Java - 03. operator control

switch가 식(expression)이 된 순간 — 연산자에서 제어 흐름까지예전 Java에서 switch를 쓰면 이랬다:String result;switch (day) { case 1: result = "월"; break; case 2: result = "화"; break; // ... break 빼먹으면 다음 case로 흘러내림}변수 선언 → switch → case마다 대입 → break. 이게 값 하나를 결정하는 데 너무 많은 의식이다. Java 14부터 switch가 값을 반환하는 식이 됐다 — String result = switch(day) { case 1 -> "월"; ... }; 한 줄로. break도 없고, 흘러내림도 없다. (JEP-361)이 글은 이 변화의 배경이 되..

Archive

'pattern-matching' 2

Develop Artifacts/Java

Java - 08. record sealed enum

보일러플레이트를 없앤 Java의 세 가지 타입 — record, sealed, enumPoint 클래스를 만든다고 하자. x, y 필드, 생성자, getter, equals, hashCode, toString — Java에서 불변 데이터 객체 하나를 제대로 만들려면 50줄이 필요했다. Lombok @Value로 줄여봤지만, 그것은 서드파티 라이브러리에 대한 의존이었다.Java 16에 record가 들어왔다. public record Point(double x, double y) {} — 한 줄. 컴파일러가 나머지를 다 만들어 준다. (JEP-395) 왜 Java는 30년이나 지나서야 이 한 줄을 가능하게 했을까? 이 글은 record, sealed, enum 세 가지 현대 타입이 기존 코드를 어떻게 바꾸..

댓글
Develop Artifacts/Java

Java - 03. operator control

switch가 식(expression)이 된 순간 — 연산자에서 제어 흐름까지예전 Java에서 switch를 쓰면 이랬다:String result;switch (day) { case 1: result = "월"; break; case 2: result = "화"; break; // ... break 빼먹으면 다음 case로 흘러내림}변수 선언 → switch → case마다 대입 → break. 이게 값 하나를 결정하는 데 너무 많은 의식이다. Java 14부터 switch가 값을 반환하는 식이 됐다 — String result = switch(day) { case 1 -> "월"; ... }; 한 줄로. break도 없고, 흘러내림도 없다. (JEP-361)이 글은 이 변화의 배경이 되..

댓글

wall

방명록

방문 흔적을 남겨주세요. 질문이나 인사 모두 환영합니다.