본문 바로가기
반응형

Dart, Flutter for App12

Flutter Error | Error (Xcode): expected a ‘=’, but found ? Flutter와 네이티브 iOS 채널통신 테스트를 해보려고 하는데 갑작스런 에러 발생... 황당한 점은...열어본 적도 없는 곳에서 에러를 발견해서 해결... 이래저래 파일을 에러코드를 보며 뒤적거려보니 해당 폴더 위치(ios/Flutter/Debug.xcconfig)에 include에 #에 빠져있다???? 황당해하며 #을 넣어주니 에러 해결... 특정 버젼에서의 cocoapod 버그?가 간간히 개발자들을 괴롭힌다고 하는데, 이것도 그 중 하나인가보다... 2024. 1. 6.
Dart - operator == , hashCode, & compareTo() Dart 언어에서 모든 객체는 object클래스를 상속받습니다. 그리고 object클래스에는 아래와 같이 메서드가 정의되어 있습니다. operator == 연산자와 hashCode object클래스에 정의된 operator == 연산자는 기본적으로 두 객체의 메모리 주소를 비교하여 동등성을 판단하며, 동일 객체를 참조하고 있는 경우에만 true를 반환합니다. 위의 코드는 operator == 연산자를 재정의하여 Book 객체의 title과 publishDate이 같을 경우 true를 반환하도록 만들었습니다. 또한 object클래스에 정의되어 있는 hashCode getter도 함께 재정의하여 동일한 객체에 대해 동일한 hashCode를 반환하도록 했습니다.(Dart 언어에서 객체 간 비교는 hashCod.. 2023. 12. 7.
Dart - Null Safety | null 안전성 Dart 언어의 null 안전성은 코드의 안정성을 높이고 프로그램에서 예상치 않은 예외를 방지하는 데 도움이 됩니다. 아래의 코드는 null 안전성을 보여주는 예제입니다. class Person { String? name; int age; Person({this.name, required this.age}); } void main() { final person = Person(age: 25); if (person.name != null) { print("안녕하세요, ${person.name}님!"); } else { print("이름이 없어요~"); } } 위의 코드는 Person객체에서 name 변수를 String? 타입으로 선언하고, 초기값을 null로 설정합니다. 변수 타입선언에 ? 를 사용하면 해.. 2023. 12. 5.
Dart - final, const, & static Dart 언어에서도 final과 const 키워드로 타입을 지정할 수 있습니다. 하지만 final이나 const 로 지정한 타입의 변수는 값을 오직 한 번만 할당이 가능합니다. 사용하는 방법에 있어서 차이가 있습니다. final과 const의 차이점 final은 런타임 시점에서 값이 저장되고, const 는 컴파일 시점에서 값이 저장됩니다. 컴파일 과정 : 프로그래밍 언어가 기계어로 번역되어 실행되는 과정 런타임 과정 : 컴파일 된 프로그램이 실행되는 과정 인스턴스 변수는 final로 설정될 수 있지만, const는 될 수 없습니다. const 키워드는 상수 변수 선언할 때 뿐만 아니라, 상수 값을 만드는 생성자를 선언할 수도 있습니다. 정적 멤버 static static으로 선언을 하면 메서드나 변수는.. 2023. 12. 3.
Dart - Class, Abstract Class, and Interface Dart 언어 역시 객체 지향 언어이고, 모든 클래스는 Object 클래스의 자식입니다. 클래스는 멤버 변수와 멤버 함수를 가질 수 있으며, 하나의 설계도나 템플릿으로서 인스턴스화(클래스가 컴퓨터의 메모리에 올라가는 것) 되어 생성된 객체들을 목적에 맞게 활용이 가능합니다. // Person 클래스 class Person{ var name; // 멤버변수 var age; // 생성자 Person(this.name, this.age); // 멤버 함수 void printInfo(){ print('name : $name, age : $age'); } } 그리고 아래와 같이 다른 클래스를 상속받거나 확장함으로써, 기존 코드의 확장/오버라이딩/중복 코드를 줄임으로써 효율적인 프로그래밍을 할 수 있습니다. cla.. 2023. 11. 29.
Dart - 369 Game 오름캠프의 Flutter 과정을 통하여 새로 배우는 Dart 언어 연습을 위한 목적으로 369 게임을 만들어보았습니다. 여기서 369게임의 조건은 기존의 369게임과 다른 점이 있습니다. (차이점 : 기존 369 게임의 룰에서 33과 같은 경우 손뼉 두 번! 하지만 여기서는 손뼉 한번!) 연습용 369게임 조건 손뼉을 쳐야 할 상황에서는 33나 36 모두 clap은 1회로 출력 및 1회 카운팅 30의 배수에서는 ahh 출력 10의 배수에서는 rool 출력 게임 숫자의 범위는 1~100 총 플레이어는 4명 결과물 clap, rool, ahh의 전체 카운팅 가장 많이 clap한 플레이어 코드 1. 본래 369게임에서의 clap을 여러 번 할 수 있다는 가정 하에 개발을 했었다. 그래서 플레이한 횟수인 num.. 2023. 11. 29.
728x90
반응형