[자바/JAVA] Object 클래스 toString() 메서드 활용법
- Java
- 2021. 5. 14.
toString()
toString()은 Object 클래스로부터 오버라이딩 해서 사용된다. 일정한 형태의 반환값을 제시할 수 있다. 여러 가지 데이터 타입을 섞을 수도 있다.
카드의 종류와 숫자를 구현하는 간단한 예시를 보자.
class Card {
String kind; // 종류
int number; // 숫자
Card(String kind, int number){
this.kind = kind;
this.number = number;
} // 인스턴스 변수 값 초기화 생성자
}
인스턴스 변수 kind
와 number
를 선언하고 이를 초기화 하는 생성자를 만들었다.
이제 메인 메서드를 통해 Card 클래스의 객체를 생성하고 값을 출력 한다.
class CardToString {
public static void main(String[] args){
Card c1 = new Card("SPADE", 1);
Card c2 = new Card("SPADE", 2);
Card c3 = new Card("SPADE", 3);
Card c4 = new Card("SPADE", 4);
Card c5 = new Card("SPADE", 5);
// 객체 생성
System.out.println("Card [kind="+c1.kind+", number="+c1.number+ "]" );
System.out.println("Card [kind="+c2.kind+", number="+c2.number+ "]" );
System.out.println("Card [kind="+c3.kind+", number="+c3.number+ "]" );
System.out.println("Card [kind="+c4.kind+", number="+c4.number+ "]" );
System.out.println("Card [kind="+c5.kind+", number="+c5.number+ "]" );
}
}
실행 결과
Card [kind=SPADE, number=1]
Card [kind=SPADE, number=2]
Card [kind=SPADE, number=3]
Card [kind=SPADE, number=4]
Card [kind=SPADE, number=5]
이런 방법으로도 출력이 가능하다. 그렇지만 가독성이 좀 떨어져 보인다. toString()
메서드를 이용하면 좀더 보기가 편한 코드를 구현할 수 있다.
Card 클래스에 toString()
메서드를 오버라이딩 해 반환값의 형식을 정해준다.
class Card {
String kind; // 종류
int number; // 숫자
Card(String kind, int number){
this.kind = kind;
this.number = number;
} // 인스턴스 변수 값 초기화 생성자
}
@Override
public String toString() {
return "Card [kind=" + kind + ", number=" + number + "]";
}
이클립스는 자동 완성 기능도 제공한다.
마우스 우클릭 >> Generate toString()
메인메서드에서 호출할 땐 참조변수명.toString()
형태로 해주면 된다.
class CardToString {
public static void main(String[] args) {
Card c1 = new Card("SPADE", 1); // 객체 생성
Card c2 = new Card("SPADE", 2);
Card c3 = new Card("SPADE", 3);
Card c4 = new Card("SPADE", 4);
Card c5 = new Card("SPADE", 5);
System.out.println(c1.toString());
System.out.println(c2.toString());
System.out.println(c3.toString());
System.out.println(c4.toString());
System.out.println(c5.toString());
}
}
간결해졌다.
실행 결과는 같다.
Card [kind=SPADE, number=1]
Card [kind=SPADE, number=2]
Card [kind=SPADE, number=3]
Card [kind=SPADE, number=4]
Card [kind=SPADE, number=5]
반응형
'Java' 카테고리의 다른 글
[자바/JAVA] substring() 메서드로 파일과 확장자명 구분 짓기 (0) | 2021.05.16 |
---|---|
[자바/JAVA] indexOf() 특정 문자열 찾는법 (0) | 2021.05.15 |
[자바/JAVA] 많이 활용되는 equals(Object obj) 메서드, 구현부 의미는 (0) | 2021.05.13 |
[자바/JAVA] 참조 변수 형변환 : 상속 관계 일때 (0) | 2021.05.11 |
[자바/JAVA] 다형성이 효율적인 이유 (0) | 2021.05.11 |