반응형
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 |