2024/07/09 5

롬복 (Lombok)

롬복은 JDK의 표준 라이브러리는 아니지만 개발자들이 즐겨 쓰는 자동 코드 생성 라이브러리이다. 롬복은 레코드와 마찬가지로 DTO 클래스를 작성할 때 Getter, Setter, hasCode(), equals(), toString() 메소드를  자동 생성하기 때문에 작성할 코드의 양을 줄여준다.  레코드와 차이는 필드가 final이 아니며, 값을 읽는 Getter는 getXxx(또는 isXxx)로, 값을 변경하는 Setter는 setXxx로 생성된다. 인텔리제이 환경에서는 플러그인에 자동으로 설치가 되어있으나, 현재 maven에 대한 개념이 없으므로 @RequiredArgsConstructor 어노테이션을 작성해 롬복을 프로젝트에 적용시켰다. package ch12.sec03.ex05;import lo..

Java 2024.07.09

레코드 선언

DTO를 작성할 때 반복적으로 사용되는 코드를 줄이기 위해 java14부터 레코드(record)가 도입되었다. package ch12.sec03.ex04;public record Member(String id, String name, int age) {} class 대신에 record 키워드를 사용해 사용할 수 있다. 레코드 소스를 컴파일하면- 변수타입과 이름을 이용해서 private final 필드가 자동으로 생성- Getter 메소드가 자동으로 추가- hashCode(), equals(), toString() 메소드를 오버라이딩한 코드 자동 추가 package ch12.sec03.ex04;public class RecordEx { public static void main(String[] arg..

Java 2024.07.09

객체 문자정보 - toString()

toString() 메서드는 객체의 문자 정보를 리턴한다.기본적으로 Object의 toString 메서드는 클래스명@16진수해시코드로 구성된 문자열을 리턴한다. System.out.println(obj.toString());// java.lang.Object@de6ced 객체의 문자 정보가 중요한 경우에 Object의 toString을 오버라이딩해서 정보를 리턴하도록 해야한다. package ch12.sec03.ex03;public class SmartPhone { private String company; private String os; public SmartPhone(String company, String os) { this.company = company; ..

Java 2024.07.09

Object 클래스 / HashCode

클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않으면 암시적으로 java.lang.Object 클래스를 상속한다.따라서 자바의 모든 클래스는 Object 의 자식이거나 자손 클래스이다.  Object가 가진 메소드는 모든 객체에서 사용할 수 있다.Object가 가진 주요 메소드 boolean equals(Object obj) :  객체의 참조값을 비교하고 결과 리턴int hashCode() :  객체의 해시코드 리턴String toString() : 객체 문자 정보 리턴 객체 동등비교package ch12.sec03.ex01;public class Member { public String id; public Member(String id) { this.id = ..

Java 2024.07.09

예외

예외란 잘못된 사용 또는 코딩으로 인한 오류를 말한다. 예외가 발생하면 프로그램은 종료된다는 점에서 에러와 동일하지만, 예외처리를 하면 프로그램이 종료되지 않고 실행상태를 유지할 수 있다. 예외에는 두가지가 있다.- 일반 예외 (Exception)컴파일러가 예외 처리 코드 여부를 검사하는 예외- 실행 예외 (Runtime Exception)컴파일러가 예외 처리 코드 여부를 검사하지 않는 예외 자바는 예외가 발생하면 예외 클래스로부터 객체를 생성한다. 이 객체는 예외 처리 시 사용된다. 자바의 모든 에러와 예외 클래스는 Throwable을 상속받아 만들어지고, 추가적으로 예외 클래스는 java.lang.Exception 클래스를상속받는다. 실행 예외는 RuntimeException과 그 자식 클래스에 해당..

Java 2024.07.09