[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개의 댓글

Powered by GraphCDN, the GraphQL CDN