평행코드

Dart의 클래스, 생성자, 네임드생성자 본문

Flutter

Dart의 클래스, 생성자, 네임드생성자

나의 오류는 누군가 겪었던 오류 2024. 3. 7. 16:30

⭐ 클래스는 객체 지향 프로그래밍에서 사용되는 템플릿이라고 생각할 수 있습니다.

클래스는 속성(데이터)과 메서드(동작)로 구성됩니다.

속성은 클래스의 특징이나 상태를 나타내고, 메서드는 클래스가 수행할 수 있는 동작을 정의합니다.

 

⭐ 생성자는 클래스의 인스턴스를 생성하는 특별한 메서드입니다.

생성자는 클래스로부터 객체를 만들 때 호출되며, 객체의 초기화를 담당합니다.

Dart에서 생성자는 클래스 이름과 동일한 이름을 가지며, 클래스 내부에 정의됩니다.

 

⭐ 네임드 생성자는 클래스에 추가적인 생성자를 정의하는 방법 중 하나입니다.

기본 생성자 외에 다른 생성자를 정의하고 싶을 때 사용됩니다.

네임드 생성자는 생성자 이름을 지정하여 정의하며, 클래스 내부에 정의됩니다.

네임드 생성자를 사용하면 다양한 방식으로 객체를 초기화할 수 있습니다.

 

아래는 Dart에서 클래스, 생성자, 네임드 생성자를 사용한 예시입니다.

class Person {
  String name;
  int age;
  
  // 기본 생성자
  Person(this.name, this.age);
  
  // 네임드 생성자
  Person.fromBirthYear(String name, int birthYear) {
    this.name = name;
    this.age = DateTime.now().year - birthYear;
  }
  
  void sayHello() {
    print("안녕하세요, 저는 $name이고 $age살입니다.");
  }
}

void main() {
  // 기본 생성자를 사용하여 객체 생성
  Person person1 = Person("Alice", 25);
  person1.sayHello(); // 출력: 안녕하세요, 저는 Alice이고 25살입니다.
  
  // 네임드 생성자를 사용하여 객체 생성
  Person person2 = Person.fromBirthYear("Bob", 1990);
  person2.sayHello(); // 출력: 안녕하세요, 저는 Bob이고 34살입니다.
}

 

위의 예시에서 Person 클래스는 이름(name)과 나이(age) 속성을 가지고 있습니다.

기본 생성자는 name과 age를 인자로 받아 객체를 초기화합니다.

또한 fromBirthYear라는 네임드 생성자를 정의하여 출생 년도를 받아 객체를 초기화하는 방법을 제공합니다.

sayHello 메서드는 객체의 정보를 출력하는 역할을 합니다.

이렇게 클래스, 생성자, 네임드 생성자를 사용하면 객체를 효율적으로 생성하고 초기화할 수 있습니다.

'Flutter' 카테고리의 다른 글

Dart의 추상클래스  (0) 2024.03.07
Dart의 function, parameter, qqOperater, Typedef  (0) 2024.03.06
Dart Collection  (0) 2024.03.05
Dart의 특징과 변수  (0) 2024.03.04