Java에서 toString 메서드 재정의
우리는 종종 모든 프로그램의 필수 부분이기 때문에 Java에서 문자열을 사용합니다. 이 튜토리얼에서는 개념을 더 잘 이해하기 위해 쉬운 예제를 사용하여 Java에서tostring()
메소드를 재정의하는 방법을 알아 봅니다.
Java에서@Override
어노테이션을 사용하여toString()
메소드 대체
toString()
메소드는 Java의 모든 클래스의 수퍼 클래스 인Object
클래스의 일부입니다. 이는 모든 클래스에 자체toString()
메소드가 있음을 의미합니다. 하지만 매번 기본toString()
메소드에서 원하는 출력을 얻지는 못합니다. 메서드를 재정의하고 필요에 따라 사용자 지정해야 할 때입니다.
toString()
메서드를 재정의하는 방법을 보여주기 위해toString()
메서드를 재정의하지 않은 두 가지 예제와 재정의 된 메서드가있는 다른 두 가지 예를 볼 수 있습니다.
아래 예에는 생성자에서 초기화 된 세 개의 변수가있는ExampleClass
클래스가 있습니다. 인수가 전달 된ExampleClass
클래스의 객체를 생성 한 다음 객체를 인쇄하면 의미가없고 사람이 읽을 수없는 객체를 얻습니다. exampleClass
를 인쇄 할 때 기본toString()
이 호출되기 때문입니다. 그러나 우리는 변수의 값을 문자열로 인쇄하고 싶습니다. 이를 위해 다음 예제에서toString()
메소드를 재정의합니다.
public class OverrideToString {
public static void main(String[] args) {
ExampleClass exampleClass = new ExampleClass("Alex", "Novel", 24);
System.out.println(exampleClass);
}
}
class ExampleClass {
String firstName;
String lastName;
int age;
ExampleClass(String firstName, String lastName, int age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
}
출력:
ExampleClass@37bba400
다음 코드에서 이전과 동일한 예제를 사용하지만 이번에는@Override
주석을 사용하여toString()
메서드를 재정의하고 메서드 이름을String
반환 유형으로 작성합니다. 이 작업을 수동으로 수행하거나 많은 IDE에 포함 된 바로 가기를 사용할 수 있습니다.
메서드가 문자열을 반환하므로이를 구성해야합니다. 변수를 String과 연결하여 단일 String을 만듭니다. 마지막으로exampleClass
의 객체를 생성하고 인쇄 할 때 전달 된 변수 값이있는 문자열로 출력을 얻습니다. 우리 자신의 구현을 지정하기 위해toString()
메소드를 재정의하기 때문에 발생합니다.
public class OverrideToString {
public static void main(String[] args) {
ExampleClass exampleClass = new ExampleClass("Alex", "Novel", 24);
System.out.println(exampleClass);
}
}
class ExampleClass {
String firstName;
String lastName;
int age;
ExampleClass(String firstName, String lastName, int age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
@Override
public String toString() {
return "firstName='" + firstName + '\'' + ", lastName='" + lastName + '\'' + ", age=" + age;
}
}
출력:
firstName='Alex', lastName='Novel', age=24
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn