본문
toString method
프로그래밍/Java 2016. 1. 4. 17:30
반응형
# toString method
toString()은 인스턴스에 대한 정보를 문자열(String)로 제공할 목적으로 정의한 것이다.
클래스를 작성할 때 toString()을 오버라이딩하지 않는다면, 16진수의 해시코드를 얻게 될 것이다.
Source01) CardToString.java
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 26 | class Card { String kind; int number; Card() { this("SPADE", 1); } Card(String kind, int number) { this.kind = kind; this.number = number; } } public class CardToString { public static void main(String[] args) { Card c1 = new Card(); Card c2 = new Card(); System.out.println(c1.toString()); System.out.println(c2.toString()); } } | cs |
Result)
1 2 | toStringMethod.Card@2a139a55 toStringMethod.Card@15db9742 | cs |
이제 Card클래스에서도 toString()을 오버라이딩해서 보다 쓸모 있는 정보를 제공할 수 있도록 바꿔 보자.
Source02) CardToString02.java
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 26 27 28 29 30 31 32 | package toStringMethod; class Card_ { String kind; int number; Card_() { this("SPADE", 1); } Card_(String kind, int number) { this.kind = kind; this.number = number; } public String toString() { // Card인스턴스의 kind와 number를 문자열로 반환한다. return "kind : " + kind + ", number : " + number; } } public class CardToString02 { public static void main(String[] args) { Card_ c1 = new Card_("HEART", 10); Card_ c2 = new Card_(); System.out.println(c1.toString()); System.out.println(c2); } } | cs |
Result)
1 2 | kind : HEART, number : 10 kind : SPADE, number : 1 | cs |
- 출처 및 참고자료 : JAVA의정석(남궁성 저)
반응형
댓글