반응형
public class ToString {
public static void main(String[] args) {
Plus plus = new Plus(3, 5, 8);
System.out.println(plus);
System.out.println(plus.toString());
}
static class Plus {
private int a;
private int b;
private int c;
Plus(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
}
}
//출력
연습2.ToString$Plus@27d6c5e0
연습2.ToString$Plus@27d6c5e0
String toString() 메서드가 어떤 역할을 하는지 알아보자
먼저 Plus class를 만들고 인스턴스화했을 때
plus를 출력하면 위에 코드와 같이 ToString$Plus@27d6c5e0 이런 식으로 나온다.
# plus.toString()과 plus는 같다 (. toString()을 붙이지 않으면 시스템이 알아서 붙여준다)
여기서 String toString()메소드를 이용하면
public class ToString {
public static void main(String[] args) {
Plus plus = new Plus(3, 5, 8);
System.out.println(plus);
System.out.println(plus.toString());
}
static class Plus {
private int a;
private int b;
private int c;
Plus(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
public String toString(){
return ("("+a+"+"+b+")"+"="+c);
}
}
}
//출력
(3+5)=8
(3+5)=8
위에 코드와 같이 System.out.println()의 인자값으로 인스턴스의 이름만 넣었을 뿐인데 toString메서드의 값이 출력됩니다.
정리를 하자면 우리는 클래스 내부에서 public String toString()라는 메소드를 선언해서
System.out.println(인스턴스의 이름)을 호출 했을 때 출력 될 문자열을 지정할 수 있다
반응형
'Java' 카테고리의 다른 글
CPU 바운드 작업 vs 비동기 I/O 작업 (2) | 2024.10.02 |
---|---|
Java, Intelij,JetBrains Toolbox 다운로드 (0) | 2023.07.27 |
Java 컬렉션 프레임워크 LinkedList vs ArrayList (0) | 2023.01.14 |