개발일지/Dart28 열거타입(Enum) [열거타입] - Enum 데이터 범주화, 타입처럼 사용한다. 개발자에게 코드의 가독성을 높혀주고, 안정적인 프로그래밍을 할 수 있는 방식 중 하나 enum Status { ready, start, end } void main() { // 데이터 범주와, 타입처럼 사용, 개발자에게 코드의 가독성을 높여주고 안정적인 프로그래밍 방식에 하나 Status myStatus = Status.ready; if(myStatus == Status.ready) { print("준비중 입니다."); }else if(myStatus == Status.start) { print("시작 했습니다."); }else if(myStatus == Status.end) { print("종료 되었습니다."); } switch(myStatu.. 개발일지/Dart 2022. 11. 9. 매개변수(옵셔널 변수(optional parameter) /// Dart 함수와 매개변수(optional, named) void main() { addNumbers(101010, 10101010); bool isEven = isEvenNumber(addNumbers2(20, 400)) ; print(isEven == true ? "짝수" : "홀수"); // 함수 사용과 매개변수 // 1. 매개변수(positional parameter) // 2. optional parmeter - 있어도 되고, 없어도 된다. // 2 - 1. optional parameter 기본값을 정해줄 수 잇고 required를 설정할 수 있다. // 2 - 2. optional parameter required 주게 되면 named 파라미터라고 부른다. // 2 - 3. option.. 개발일지/Dart 2022. 11. 9. 제네릭, Isolate 제네릭 제네릭 프로그래밍은 타입 매개 변수 (T)를 통해 타입에 대한 유연한 대처를 가능하게 한다. 다트 컬렉션에서 많이 사용 된다. import 'main_06.dart'; /// Dart Generic /// 제네릭 프로그래밍은 타입 매개 변수(T)를 통해 타입에 대한 유연한 대처를 가능케 한다. /// 다트 컬렉션에서 많이 사용 되어 진다. /// void main() { Powder powder = Powder(); Plastic plastic = Plastic(); GenericPrinter printer1 = GenericPrinter(); GenericPrinter printer2 = GenericPrinter(); printer1.setMaterial(powder); printer2.set.. 개발일지/Dart 2022. 11. 8. 생성자, 추상 클래스 생성자 1. 기본 생성자 - default constructor : (이름이 없는 생성자) ※ 이름이 없는 생성자는 단 하나만 만들 수 있다! 2. 이름이 있는 생성자 - Named constructor : 다트에서는 오버로딩이라는 기능이 없다! 3. 초기화 리스트 - Initializer list 4. 리다이렉 생성자 - Redirecting constructor 5. 상수 생성자 - Constant constructor 6. 팩토리 생성자 - Factory constructor 기본 생성자 & 이름이 있는 생성자 void main (){ Person person1 = Person(); Person person2 = Person.init(); Person person3 = Person.ageInit(1.. 개발일지/Dart 2022. 11. 8. Dart (접근제어 지시자, getter / setter, 상속 & 다형성, Maxin(with), 생성자) + 의 기능 - 문자열 + 문자열은 가능하다 ( 단, -, * , / 은 불가능) - 서로 다른 데이터 표기를 더하기 위해서는 $ { } 사용! (다만 점 연산자 사용시 축약이 불가능하다) void main(){ String name1 ='홍길동'; String name2 ='이순신'; print(name1 + name2); print('${name1} ${name2}'); print('$name1 $name2'); print('${name1.runtimeType} $name2.runtimeType'); } null nullable ( ?를 사용해서 나타냄 ) non-nullalbe 변수가 null이 될 수 있다. 변수가 null이 될 수 없다. null 이란 ? 아무런 값도 없는 것 만약 변수에 !를 .. 개발일지/Dart 2022. 11. 7. Collections, List, Set, Map List에서 값 가져오기 List list = [1,2,3,4,5]; // 리스트만 대괄호 사용한다. print(list[0]); List에서 forEach활용해 모든 값 가져오기 list.forEach((element) { print("요소 확인 : ${element.runtimeType}"); }); List에서 마지막 값 삭제하기(removeLast) // 마지막 요소 삭제 list.removeLast(); print(list); List 전체 삭제하기(clear) // 전체 요소 삭제 list.clear(); print(list); Collection (null 허용 x) 컬렉션 내 데이터들 나열된 상태를 명시해주는 연산자로, 컬렉션에 다른 컬렉션 데이터를 삽입할 때 사용 var list3 = [.. 개발일지/Dart 2022. 11. 7. do while, break, continue, Switch and Case, do - while문 // do - while var input = 0; var sum = 0; do { input++; sum += input; if (input >= 10) { input = 0; } print("sum: ${sum}"); } while (input != 0); break // break문 사용하기 for(var i = 0; i < 10; i++){ if(i == 7){ break; } print("i : ${i}"); } continue // continue 사용하기 for(var i = 0; i < 10; i++){ if(i == 7){ continue; } print("i : ${i}"); } Switch and Case // Switch and Cased var command .. 개발일지/Dart 2022. 11. 6. for문, forEach문, StringBuffer, whil for문 var strs = ['A','B','C']; // for문 for(var i = 0; i < strs.length; i++){ print(strs[i]); } print("------------"); forEach문 - 1 // forEach문 // var strs = ['A','B','C']; for(var el in strs){ print("foreach : ${el}"); } print("------------"); forEach문 - 2 var coll = [1,2,3]; print("====================="); coll.forEach(print); print("====================="); coll.forEach((e) {print(e); }); Stri.. 개발일지/Dart 2022. 11. 6. is(instanceof) 키워드 is란 java에서 instanceOf와 같다 즉 자료형 타입을 확인하는 키워드이다. int _num1 = 10; var _num2 = 100.0; var _str1 = "Hello flutter"; var _isOK = false; var _pi = 3.14; print("_num1 : ${_num1 is int}"); // is : 타입 비교 (instanse Of와 같다) print("_num2 : ${_num2 is double}"); print("_isOK : ${_isOK is bool}"); print("_str1 : ${_isOK is !bool}"); 개발일지/Dart 2022. 11. 6. 부호연산(단항연산), 복합대입, 증감, 감소연산자 부호연산(단항 연산자) // 부호연산 - 단항 연산자 : 실제값을 변경할려면 대입 연산자를 사용 var number = 10; print(-number); print(number); 복합대입 연산자 // 복합 대입연산자 // +=, -=, *=, /= var num1 = 0; num1 += 2; print(num1); var num2 = 0; num2 -= 2; print(num2); var num3 = 3; num3 *= 3; print(num3); var num4 = 10.0; // 나누기 복합대입연산자 사용시 실수로 만들어주자!!! num4 /= 2; print(num4); 증감, 감소연산자 // lastScore = ++gameScore; lastScore = gameScore++; // 연산자에.. 개발일지/Dart 2022. 11. 6. const와 final의 차이 const(컴파일 시점) 와 final(런타임 시점) 둘은 값을 한 번 지정하게 되면 바꿀 수 없다는 공통적인 속성을 가지고 있다. 하지만 다른점이 존재하는데 가장 큰 차이점은 생성 시점이라고 볼 수 있다. // final : 런타임 시점에서 상수가 됨. 현재시각을 알 수 있는건 런타임 시점데서 코드가 실행 되어야 알 수 있기때문이다. final DateTime myFinal = DateTime.now(); print(myFinal); // const : 컴파일 시점에서 상수가 됨. 컴파일 시점에서 상수가 되는데 런타임 시점에서는 값이 바뀔 수 없기때문에 에러가 난다. const DateTime myConst = DateTime.now(); // 에러발생 print(myConst); 개발일지/Dart 2022. 11. 6. Dart에서 형 변환 하기 /// Dart에서는 4가지 기본타입을 제공합니다 (Object) /// 정수, 실수, 문자열, 논리 /// Numbers(int, double) /// String /// bool /// null /// List /// Set /// Map /// 변수에 넣을 수 있는 모든 것은 객체이고, 모든 객체는 클래스의 인스턴스 입니다. /// null을 제외하고 모든 객체는 Object 클래스에서 상속됩니다. /// Dart 에서의 형 변환 void main() { // String -> int var intTen = int.parse('10') ; print(intTen); print(intTen.runtimeType); // String -> double var onePointone = double.par.. 개발일지/Dart 2022. 11. 4. 이전 1 2 3 다음