toString 메소드를 오버라이딩 하지 않을 경우에는, Object 클래스의 toString 메소드를 호출한다.
즉 우리가 얻고자 하는 의미있는 값이 아닌, 16진수 주소 값을 가져온다.
따라서, toString 메소드는 반드시 오버라이딩 한 후에 사용하여야 한다.
class Card{
String kind;
int number;
Card(){
this("SPADE", 1);
}
Card(String kind, int number){
this.kind = kind;
this.number = number;
}
// toString 오버라이딩
public String toString(){
// Card 인스턴스의 kind와 number를 문자열로 반환한다.
return "kind : " + kind + ", number : " + number;
}
}
public class CardToString2 {
public static void main(String[] args){
Card c = new Card("HEART", 10);
System.out.println(c.toString());
}
}
조상클래스의 정의된 메소드를 자손클래스에서 오버라이딩 할 때는 조사을래스에서 정의된 접근범위보다 같거나 더 넓어야 한다.
'Dev. Java > Java.lang' 카테고리의 다른 글
문자열 추출 기본 예제 (0) | 2014.04.22 |
---|---|
문자열 기본형 변환 - Integer (0) | 2014.04.22 |
String 클래스 intern 메소드 (0) | 2014.04.21 |
int를 String으로 변환하는 방법 (0) | 2014.04.20 |
데이터 복제 clone() 메소드 (0) | 2014.04.19 |