반응형 플러터10 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. 이전 1 2 다음 728x90 반응형