본문 바로가기

다트문법12

dart문법_메서드, 생성자, 제네릭클래스 메서드 객체 의 동작 을 정의하는 함수메서드 는 클래스 에 의존하고, 함수 는 클래스 에 의존하지 않는다는 차이가 있음 인스턴스 메서드 (Instance Method)class Person {   String name = '홍길동';   int age = 25;      void printName() {     print(name);   }      void printNameAndAge() {     this.printName();     print(age);   } }  정적 메서드 (Static Method): 인스턴스 변수 사용 불가. class Circle { static double pi = 3.14159; double radius = 0;   static void printPi() {   pr.. 2024. 10. 30.
dart문법_객체 지향 프로그래밍 클래스 (Class) class [클래스 이름] { … } class Person {   String name;   int age;      Person(this.name, this.age);      void introduce() {     print('안녕 ? 나는 $age살 $name !');   } }  인스턴스 변수: 객체에 속해있는 변수. this를 통해 접근할 수 있지만 생략도 가능. class Person {   String name = ''; //인스턴스 변수int age = 0; } void main() { Person paul = Person(); paul.name = 'Paul'; paul.age = 25;   Person mark = Person();   mark.name = 'M.. 2024. 10. 30.
dart문법_함수형 프로그래밍 메서드 체이닝(함수의 연속): .을 이용해 연속으로 함수 사용int number = -12345 var result = number.abs().toString().contains('3'); print(result); // true  많이 사용되는 함수1. 형변환 함수 toString() : int → String으로 변환int.parse() : String → int로 변환(변환 불가시 오류 발생)int.tryParse() : String → int로 변환(변환 불가시 null 반환)double.parse() : String → double로 변환(변환 불가시 오류 발생)double.tryParse() : String → double로 변환(변환 불가시 null 반환)toList() : 특정 Collec.. 2024. 10. 30.
dart문법_함수, 제네릭 함수 [반환 타입] [함수 이름]([매개변수 타입] [매개변수 이름]) { return [반환값]; }bool isOddNumber(int number) { return number % 2 != 0; }  [반환 타입] [함수 이름]([매개변수 타입] [매개변수 이름]) ⇒ 반환값;bool isOddNumber(int number) => number % 2 != 0; 반환값 없을 때 : 반환타입을 void로 작성  제네릭_함수 [타입 파라미터] [함수 이름]([매개변수]) { … }T getFirstElement(List list) {   return list[0]; } 타입파라미터에는 아무 대문자를 사용해도 됨. int getFirstNumber(List numbers) {   return number.. 2024. 10. 29.
dart문법_열거형(enum) enum: 연관된 상수(고정된 값)들의 집합을 정의 할 때 사용 enum [열거형 이름] {요소}enum Color { red, green, blue } 열거형 이름을 통해 열거형에 포함된 값에 접근할 수 있음var myFavoriteColor = Color.blue; print(myFavoriteColor); // Color.blue switch 문을 통해 열거형에 포함된 값 각각을 다룰 수 있음var myFavoriteColor = Color.green; var result = '내가 제일 좋아하는 색은 '; switch (myFavoriteColor) {   case Color.red:     result += '빨간색';   case Color.green:     result += '초록색';  .. 2024. 10. 29.
dart문법_컬렉션(Map) Map 키 (Key) 와 값 (Value) 이 묶인 하나의 쌍으로 이루어진 형태.(파이썬의 딕셔너리 같은 개념인듯.)키는 중복 불가. Map 변수 이름 = {key: value};Map people = {'Alice': 'Teacher', 'Bob': 'Student'}; 추가기능length : 길이isEmpty, isNotEmpty : 비어있는지remove() : 삭제 remove('Bob')containsKey() : 특정요소가 있는지. containsKey('Paul')keys : 모든 키값을 반환.values : 모든 값을 반 2024. 10. 29.
dart문법_컬렉션(Set) Set 중복되지 않은 값들이 묶인 형태(중복값 입력시 에러나진 않지만 입력되지도 않음)index 개념 없음 Set [변수 이름] = {요소}; Set numbers = {1, 2, 3, 4, 5}; 추가기능 length isEmpty, isNotEmpty add(), addAll()remove() contains(), containsAll() : 특정요소가 있는지 확인var fruits = {'사과', '파인애플', '오렌지'}; print(fruits.contains('사과')); // true print(fruits.containsAll({'사과', '오렌지'})); // true 2024. 10. 29.
dart문법_컬렉션(List) List : 순서가 있는 값들이 묶인 형태 List [변수 이름] = [요소] List numbers = [1, 2, 3, 4, 5]; print(numbers[3]); // 4 length : list 길이print(numbers.length); // 5 isEmpty : 비어있으면 true. 반대 개념 isNotEmptyvar numbers = []; print(numbers.isEmpty); // true indexOf() : 요소의 index 반환print(numbers.indexOf(3)); // 2 add() : 요소 하나 추가. 마지막 위치numbers.add(6); print(fruits[5]); // 6  addAll() : 리스트로 된 요소 추가. 마지막 위치numbers.addAll(.. 2024. 10. 28.
dart문법_반복문 for for (초기화식, 조건식, 증감식) { … }  String message = 'Dart 공부'; for (var i = 0; i message += '!'; } print(message); // Dart 공부!!!!!  while while (조건식) { … } int count = 1; while (count print('count : $count'); count += 1; } /* count : 1 count : 2 count : 3 count : 4 count : 5 */  do-while do { … } while (조건식); // do부분이 1번 무조건 실행됨 int count = 1; do {   print('count : $count');   count += 1; } while (.. 2024. 10. 28.
dart문법_조건문 조건문 if, else if, else if (조건) { … }else if (조건) { … }else { … } int a = 3; if (a print('a 는 음수입니다.'); } else if (a == 0) { print('a 는 0 입니다.'); } else { print('a 는 양수입니다.'); // a 는 양수입니다. }  switch어떤 특정 값에 대한 경우를 모두 생각해 주어야 할 때 사용. switch (값) { … } int dayOfWeek = 1; switch (dayOfWeek) {   case 1:     print('오늘은 월요일입니다.');     break;   case 2:     print('오늘은 화요일입니다.');     break;   case 3:     p.. 2024. 10. 28.