[Dart] toString()

AsherKim·2023년 5월 30일
1

플러터 TIL

목록 보기
11/18

Dart에서 toString()은 Object 클래스에 정의된 메서드이다. 이 메서드는 객체를 문자열로 변환하여 반환하는 역할을 한다. Dart의 모든 클래스는 Object 클래스를 상속하므로, 모든 클래스는 toString() 메서드를 사용할 수 있다.

기본적으로, toString() 메서드는 클래스의 인스턴스를 식별하는 문자열을 반환한다. 이 문자열은 "Instance of 'ClassName'"과 같은 형식일 수 있다. 예를 들어, 다음은 Person 클래스의 toString() 메서드의 기본 구현이다.

class Person {
  String name;
  int age;

  Person(this.name, this.age);

  
  String toString() {
    return 'Person{name: $name, age: $age}';
  }
}

void main() {
  var person = Person('John', 30);
  print(person.toString()); // 출력: Person{name: John, age: 30}
}

하지만, 필요에 따라 toString() 메서드를 사용자 정의할 수도 있다. 예를 들어, Person 클래스에서 이름만을 출력하도록 toString()을 재정의할 수도 있다.


String toString() {
  return 'Person{name: $name}';
}

이제 person.toString()을 호출하면 "Person{name: John}"과 같은 문자열이 출력된다.

toString() 메서드는 디버깅 및 로깅을 위해 주로 사용된다. 객체의 내용을 문자열로 표시하여 디버깅 과정에서 객체의 상태를 확인할 수 있다. 또한, 문자열 보간(interpolation)을 사용하여 객체의 속성을 포함한 읽기 쉬운 형식으로 표시할 수도 있다.

참고: Dart에서는 print() 함수를 호출할 때, 인수로 전달한 객체의 toString() 메서드가 자동으로 호출되어 출력된다. 따라서, print(person)과 print(person.toString())는 동일한 결과를 출력한다.

profile
추리를 좋아하는 개발자

0개의 댓글