반응형 다트6 Dart - 믹스인(mixin) mixin이라는 예약어로 선언되는 변수 또는 함수 입니다. 클래스는 아니기 때문에 생성자는 선언할 수 없습니다.믹스인은 생성자를 가질 수 없으므로 객체를 생성할 수도 없다. mixin MyMixin{ int data1 = 10; static int data2 = 20; MyMixin(){} // 오류 void test(){ } static void test2(){} } main(){ var obj = MyMixin(); // 오류 } 객체지향 언어는 다중상속을 지원하지 않는다. 그런데 여러 클래스에 선언된 멤버를 상속한 것 처럼 이용하고 싶을 때가 있다. 이때 믹스인을 사용한다. mixin MyMixin{ int data1 = 10; static int data2 = 20; MyMixin(){} // 오.. 2023. 10. 19. Dart - 클래스와 객체 클래스와 객체는 자바와 같고 특이한 정은 초기화나 명명된 생성자, 팩토리 생성자 등이다. 초기화 목록이라는 것이있다. 이를 사용하면 아래와 같이 클래스를 초기화 할 수 있다. User(String name, int age): this.name = name , this.age = age {} 초기화 목록은 특정항목을 선택하거나 함수 호출로 멤버를 초기화 할 때 자주 사용합니다. class MyClass{ late int data1; late int data2; MyClass(List args): this.data1 = agrs[0], this.data2 = agrs[1] {} } class MyClass{ late int data1; late int data2; // 생성자의 초기화 목록이 실행되는 시점은.. 2023. 10. 19. Dart - 함수와 제어문 함수의 본문이 한줄이라면 아래와 같이 화살표를 통하여 한줄로 만들어 줄 수 있다. void testFunction() => print("test function"); 함수를 호출할 때는 매개변수의 개수와 타입 ,순서에 맞게 데이터를 전달해야한다. 그렇지 않으면 오류가 발생한다. 다만, 다크에서는 함수의 매개변수를 선택적으로 지원하느 옵셔널을 지원한다. (명명 매개변수, 옵셔널 위치 매개변수) 명명 매개변수란 옵셔널이므로 호출할 때 데이터를 전달하지 않을 수도 있으며, ‘이름: 값; 형태로 매개변수 이름과 값을 함께 전달한다. 명명된 매개변수를 사용하려면 함수를 선언할 때 매개변수 타입과 이름을 중괄호로 묶어서 표현한다. void some({String? data1}{ print('data1: $data1.. 2023. 10. 19. Dart - 널 안정성 널 안정성이란 널 포인트 Exception에 대하여 프로그램을 실행하기 전 코드를 작성하는 시점에 점검하는 것을 말한다. 널 허용(Nullable)과 널 부허(Nonull)은 ?를 통하여 선언한다 int a1 = 10; int? a2 = 10; // null 허용 변수 test(){ a1 = null; // 오류 a2 = null; } String s1 = null; //오류 String? s2 = null; 다트에서 모든 변수는 객체라 초기값을 너어주지 않으면 자동으로 널로 초기화 된다. 다만, 함수에서 지역 변수를 NonNull로 선언할 떄는 초기화 하지 않아도 된다. int a1; //오류 int? a2; test(){ int a1; a1 = null // 오류 } var 타입은 대입하는 값에 따라.. 2023. 10. 19. 이전 1 2 다음 반응형