본문 바로가기

dart38

플러터 - mixin 본 글은 [Do it! 깡샘의 플러터&다트 프로그래밍] 의 내용을 발췌한 것입니다. 책의 모든 내용을 저자 직강으로 진행한 강의는 ssamz.com 에서 들으실 수 있습니다. 믹스인 알아보기 일반 클래스는 class라는 예약어로 선언하고 변수와 함수, 생성자를 정의할 수 있습니다. 그런데 믹스인은 mixin이라는 예약어로 선언합니다. mixin MyMixin { int data1 = 10; void myFun1() { print('MyMixin... myFun()...'); } } 믹스인에는 변수와 함수를 선언할 수 있지만 클래스가 아니므로 생성자는 선언할 수 없습니다. mixin MyMixin { int data1 = 10; static int data2 = 20; MyMixin() {} // 오류 v.. 2023. 3. 13.
플러터 - factory constructor 본 글은 [Do it! 깡샘의 플러터&다트 프로그래밍] 의 내용을 발췌한 것입니다. 책의 모든 내용을 저자 직강으로 진행한 강의는 ssamz.com 에서 들으실 수 있습니다. 팩토리 생성자factory constructor는 factory 예약어로 선언합니다. 팩토리 생성자 역시 객체를 생성할 때 호출할 수 있지만, 생성자 호출만으로 객체가 생성되지는 않습니다. 팩토리 생성자에서 적절한 객체를 반환해 줘야 합니다. 결국 팩토리 생성자는 클래스 외부에서는 생성자처럼 이용되지만 실제로는 클래스 타입의 객체를 반환하는 함수입니다. 오른쪽 코드에서 MyClass() 생성자는 factory 예약어가 붙었으므로 오류가 발생합니다. 그 이유는 팩토리 생성자로 선언했으면서 객체를 반환하지 않았기 때문입니다. class.. 2023. 3. 13.
플러터 - named constructor 본 글은 [Do it! 깡샘의 플러터&다트 프로그래밍] 의 내용을 발췌한 것입니다. 책의 모든 내용을 저자 직강으로 진행한 강의는 ssamz.com 에서 들으실 수 있습니다. 다트 언어에서는 클래스의 생성자를 다양하게 이용할 수 있는데 명명된 생성자named constructor는 가장 중요하고 자주 사용합니다. 명명된 생성자는 이름이 있는 생성자라는 의미로, 한 클래스에 이름이 다른 생성자를 여러 개 선언하는 기법입니다. 다른 프로그래밍 언어에서도 생성자를 여러 개 선언할 수 있는 오버로딩 기능을 제공하지만, 똑같은 이름으로 매개변수나 반환 타입만 다르게 선언해야 하므로 다트와는 차이가 있습니다. 예를 들어 다음 코드는 자바 언어로 생성자 오버로딩을 구현한 예입니다. 하지만 다트에서는 이러한 오버로딩을.. 2023. 3. 13.
플러터 - for, in, switch case, try on catch finally 본 글은 [Do it! 깡샘의 플러터&다트 프로그래밍] 의 내용을 발췌한 것입니다. 책의 모든 내용을 저자 직강으로 진행한 강의는 ssamz.com 에서 들으실 수 있습니다. 제어문은 프로그램의 실행 흐름을 제어하는 구문입니다. 보통 프로그래밍 언어에서 제공하는 if~else, for, while, do~while, break, continue, switch~case 등이 제어문이며, 다트를 비롯해 대부분 언어에서 비슷하게 동작합니다. 이 절에서는 프로그램의 실행 흐름에서 다른 언어와 차이 나는 부분만 살펴보겠습니다. for 반복문에서 in 연산자 for 문은 어떤 구문을 반복해서 실행할 때 이용하며 반복해서 실행할 조건을 다음처럼 초기화; 조건; 증감 형태로 작성합니다. main() { var list.. 2023. 3. 13.