JAVA

java/ to String 주소값 출력 값 출력으로 오버라이드 하기

jojelly 2020. 9. 3. 20:25
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package self_Am;
 
public class ToString {
 
    int data1 =10;
    int data2 =20;
    int data3 =35;
    int data4;
 
    
    public static void main(String[] args) {
        ToString to = new ToString();
        System.out.println(to);
        System.out.println(to.data1);
    }
}
 
cs

 

결과

self_Am.ToString@51cdd8a
10

 

기본적으로 객체명을 출력할 때에는 (13행의 (to)뒤에)는 to String 이 생략되어 있다. 

떄문에to라는 객체의 주소값이 결과에 나타나게 되는데 이러한 주소가 아닌 값을 바로 확인하도록 해보고자한다면? 

 

그러기 위해선 toStrign을 오버라이드를 통해 주소값이 아닌 값이 반환되도록 설정을 변경하는 방법이 있다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package self_Am;
 
public class ToString {
 
    int data1 =10;
    int data2 =20;
    int data3 =35;
    int data4;
 
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return ""+data1+data2+data3+data4;
    }
    
    
    public static void main(String[] args) {
        ToString to = new ToString();
        System.out.println(to);
        System.out.println(to.data1);
    }
}
 
cs

 

결과

1020350
10

 

 

이렇게 오버라이딩을 하면 

System.out.println(to.data1);

System.out.println(to.data2);

System.out.println(to.data3);

System.out.println(to.data4);

를 하나하나 하지 않고도 값을 확인할 수 있다.

 


 

 

 

 

추가로 생성자를 통해 변경되는 입력값을 바로바로 확인도 가능하다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package self_Am;
 
public class ToString {
 
    int data1 =10;
    int data2 =20;
    int data3 =35;
    int data4;
    
    public ToString(int data1) {
        this.data1 = data1;
    }
    
    @Override
    public String toString() {
        return ""+data1+data2+data3+data4;
    }
    
    public static void main(String[] args) {
        ToString to = new ToString(100);
        System.out.println(to);
        System.out.println(to.data1);
    }
}
 
cs

결과

10020350
100

반응형

'JAVA' 카테고리의 다른 글

인터페이스의 다형성  (0) 2020.09.06
자바/ wrapper Class  (0) 2020.09.04
Object Class /equals() /==  (0) 2020.09.02
상속시 호출순서에 따른 실행결과 변화  (0) 2020.08.30
자바/상속 클래스들의 호출 순서  (0) 2020.08.30