Dart 기본 문법 (2)

데구르르·2023년 11월 29일
0

Flutter

목록 보기
2/17
post-thumbnail

클래스 (Class)

: 객체의 데이터와 기능이 정의되어 있는 설계도

구성요소

인스턴스를 초기화하는 데에 필요한 요소들이다.

  • Class Definitions
    클래스를 정의할 때 클래스 이름 앞에 class를 붙이면 된다.
    ex) class ClassName
  • Class Member
    클래스에 속하는 인스턴스나 함수
  • Class Constructor (생성자)
    클래스 인스턴스를 만들때 필요하며, 클래스 밖에서 class member를 사용할 수 있게 한다.

클래스 밖에서 클래스 인스턴스를 만들 때는 new 키워드를 사용한다.
ex) var instance = new ClassName();

class member에 접근하려면 만들어진 클래스 인스턴스를 사용한다.
ex) instance.member;

void main() {
  var person = Person('John Doe', 30);
  person.printInfo();
}

class Person {
  String name;
  int age;
  Person(this.name, this.age);
  
  void printInfo() {
    print('$name is $age');
  }
}

// output: John Doe is 30 years old
Q: Class를 사용하는 이유?
  1. 코드를 논리적으로 그룹화해 코드 반복을 줄이고, 유지보수를 하기 편함
  2. 재사용하기 좋고, 협업하기 쉬워짐

추상 클래스

abstract 키워드로 정의되는 클래스로, 자식 클래스에서 추상클래스의 메소드가 구현된다. 추상 클래스에서는 변수를 지정할 수 있고 메소드는 선언만 가능하다. abstract 키워드로 정의된다.

인터페이스

템플릿으로 이해하면 편하다. 클래스 안에는 메소드 선언만 가능하며, 변수를 정의할 수 없다. 인터페이스를 구현하는 클래스에서 변수와 메소드 구현이 이루어진다. interface 키워드로 정의된다.

mixin

다중 상속을 통해 다른 클래스의 기능을 추가할 수 있다. with 키워드를 사용해 정의된다.

객체 (Object)

: 데이터 혹은 기능이 정의되어 있으며, 프로그램 상에서 다룰 수 있는것

profile
개발 기록

0개의 댓글