Java 레코드 클래스의 사용자 정의 메소드
10182 단어 javabeginnerstutorialprogramming
삼각형을 예로 들겠습니다. 데이터 유형이 double인 두 속성
Triangle
및 base
의 두 속성이 있는 레코드 클래스height
를 생성합니다.아래 소스 코드 1에서
Triangle
레코드 클래스의 구현을 볼 수 있습니다.소스 코드 1:
public record Triangle(double base, double height) {}
예, 이것이 우리에게 필요한 모든
Triangle
클래스입니다. 소스 코드 2에서 볼 수 있듯이 이 클래스의 생성자, 속성 접근자, equals, hashCode 및 toString을 테스트해 보겠습니다.소스 코드 2:
public static void main(String[] args) {
double base = 4.0;
double height = 4.0;
// Objects initialization using constructor
Triangle triangle1 = new Triangle(base, height);
Triangle triangle2 = new Triangle(base, height);
// Property accessor
System.out.println("Base of triangle1: " + triangle1.base());
System.out.println("Height of triangle1: " + triangle1.height());
System.out.println("Base of triangle2: " + triangle2.base());
System.out.println("Height of triangle2: " + triangle2.height());
// isEqual method
System.out.println("Triangle1 and triangle2 is equal: " + triangle1.equals(triangle2));
// hashCode method
System.out.println("Hashcode of triangle1: " + triangle1.hashCode());
System.out.println("Hashcode of triangle2: " + triangle2.hashCode());
// toString method
System.out.println(triangle1.toString());
System.out.println(triangle2.toString());
}
클래스 테스트 결과는 출력 1에서 볼 수 있습니다.
출력 1:
Base of triangle1: 4.0
Height of triangle1: 4.0
Base of triangle2: 4.0
Height of triangle2: 4.0
Triangle1 and triangle2 is equal: true
Hashcode of triangle1: 33554432
Hashcode of triangle2: 33554432
Triangle[base=4.0, height=4.0]
Triangle[base=4.0, height=4.0]
위의 출력에서 테스트 결과가 예상한 것과 일치함을 알 수 있으며 이제 레코드 클래스에서 사용자 정의 메소드 구현으로 이동합니다.
레코드 클래스에서 사용자 정의 메소드 자체를 구현하는 것은 Java의 일반 클래스와 크게 다르지 않습니다. 다음 예제와 같이 레코드 클래스에 메소드를 정의하기만 하면 됩니다.
데이터 유형이 double인 삼각형
getArea()
의 면적을 계산하는 메서드를 구현하고 싶다고 가정해 보겠습니다.방정식 1은 삼각형의 넓이를 구하는 공식입니다.
방정식 1:
삼각형 넓이 = (삼각형 밑변 * 삼각형 높이)/2
코드에서 이
getArea()
메서드의 구현은 소스 코드 4에서 볼 수 있습니다.소스 코드 4:
public record Triangle(double base, double height) {
public double getArea() {
return (base * height) / 2;
}
}
이것이 우리가 레코드 클래스에서 사용자 지정 메서드를 구현하는 방법입니다. 다음으로 결과가 예상과 일치하는지 확인하기 위해 메서드를 테스트해 보겠습니다. 소스 코드 5는
getArea()
메서드에서 수행한 테스트를 보여줍니다.소스 코드 5:
public static void main(String[] args) {
double base = 4.0;
double height = 4.0;
Triangle triangle = new Triangle(base, height);
System.out.println("Base of triangle: " + triangle.base());
System.out.println("Height of triangle: " + triangle.height());
System.out.println("Area of triangle: " + triangle.getArea());
}
출력 2는 위에서 수행한 테스트 결과를 보여줍니다.
출력 2:
Base of triangle: 4.0
Height of triangle: 4.0
Area of triangle: 8.0
위의 출력에서 밑변이 4이고 높이가 4인 삼각형의 면적이 8임을 보여줌으로써 사용자 정의 방법이 잘 작동함을 알 수 있습니다. 이후:
삼각형 넓이 = (삼각형 밑변 * 삼각형 높이)/2
삼각형의 넓이 = (4 * 4)/2 = 8
이것이 바로 Java의 레코드 클래스에서 사용자 지정 메서드를 생성하는 방법입니다. 이 기사가 Java 프로그래밍 언어를 사용하여 프로그래밍할 때 생산성을 높이는 데 도움이 되기를 바랍니다. 이 Java 기능에 관심이 있는 경우 아래 링크를 통해 레코드 클래스에 대해 자세히 알아보시기 바랍니다.
https://docs.oracle.com/en/java/javase/15/language/records.html
표지 이미지:
https://i.picsum.photos/id/443/1920/720.jpg?hmac=lgXcpJtQ_DWNuuVbahKL1siBhn34DfnCCcrn_GmKpnU
Reference
이 문제에 관하여(Java 레코드 클래스의 사용자 정의 메소드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/luthfisauqi17/custom-method-in-java-record-class-3ng8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)