본문 바로가기

Dart

Dart_17 : Class_생성 Dart에서는 모든 것이 Class로 이루어져 있다.  Class내에서 property를 선언할 때는 꼭 타입을 사용해서 정의한다.Player를 호출하면 Plyaer 인스턴스가 생성된다. (꼭 new를 붙이지 않아도 된다.)  생성한 class property에 접근하여 값을 출력할 수도 값을 수정할 수도 있다.    앞서 배운 final 키워드를 사용하면, 위 코드에서처럼 변경을 못하게 오류가 생성되는 것을 볼 수 있다.   class property의 변수와 class method 내에서 변수 이름이 같지 않는 이상, this는 사용하지 않는 것이 권고되고있다.같은 경우 class property에 접근하고 싶은 경우 this 사용, class method 내 변수에 접근하고 싶은 경 this 사용 x 더보기
Dart_16 : Typedef * typedef : 자료형에 자신만의 alias를 붙일 수 있게 한다.3번째 줄 : list.reversed를 하면 List랑 조금 다른 iterable이 돼서 다시 List로 변환해준 과정이다. ListOfInts 대신 다른 이름을 붙일 수 있다.  typedef로 List를 대체했지만, 함수를 호출할때는 여전히 매개 변수로 List를 받는다.     * 활용위 코드보다 더 복잡한 것에 typedef를 활용할 수 있다. 더보기
Dart_15 : QQ Operator * QQ (Question Question) Operator : 좌항과 우항이 존재한다. 좌항이 null이면 우항을 return, 좌항이 null이 아니면 그대로 좌항을 return하는 연산자. null이 아닌 경우와 null인 경우를 분기시켜 오류 방지 삼항 연산자를 사용하여 코드의 길이를 단축 QQ 연산자를 사용하여 코드의 길이를 더 단축name?.toUpperCase() : ?를 넣지 않으면, name 자체가 null인 경우도 포함된다. name 자체가 null인 경우에는 toUpperCase를 호출할 수 없으므로 오류가 생성되어 ?를 넣어줘야 한다.(name은 null일 수도 null이 아닐 수도 있다)     * QQ Assignment Operator : 좌항이 null이면 우항의 값을 할당해.. 더보기
Dart_14 : Optional Positional 매개 변수 함수 호출 과정에서 country에 대한 매개 변수를 전달하지 않으면, null safety로 인해 오류가 생성된다.이를 해결하는 또 다른 방법은 country가 있을 수도 없을 수도 있다는 것을 위 코드처럼 표시(즉, null이 될 수 있다고 표시)한 후, default value를 부여한다.  sayhello 함수 호출 시, country 매개 변수를 전달하지 않더라도 null safety 오류도 없으면서 default value로 값이 적용된 것을 볼 수 있다.   다음과 같이 Optional Positional 매개 변수로 안 만들면 오류가 생성되는 것을 볼 수 있다. 더보기
Dart_13 : Named 매개 변수 * Dart의 function은 positional 매개 변수와 named 매개 변수가 있다. 선언 당시 매개 변수의 순서에 맞게, 호출할 때도 순서를 맞춰서 전달해야 한다. (순서가 중요함)positional 매개 변수를 사용할때는 각각의 매개 변수 위치를 기억해야 하며, 각 매개 변수가 무엇을 의미하는지 잘 모르게 된다. 좋은 방법 x  함수를 선언하는 부분에서는 매개 변수에 중괄호를 넣어준다.(name, age, country 변수에 null 값이 들어갈 수도 있으므로, dart에서는 null saftey 오류가 뜬다.) 호출하는 함수에서는 순서에 관계없이 argument(age, country, name)를 적으면 된다.(순서는 더 이상 중요하지 않고 변수의 type을 맞춰야 한다.)  함수 호출.. 더보기
Dart_12 : Function 정의 void : 이 함수가 어떤 것도 return 하지 않는다는 의미.String type의 변수를 매개 변수로 받은 후, String Interpolation을 활용하여 문장을 콘솔에 출력.   fat arrow syntax : 곧바로 return하는 경우에 사용. (한줄짜리 function)return 하고자하는 값 앞에 => 를사용하여 나타낸다.    num type의 변수 a와 b를 더한 값을 바로 return하는 function 더보기
Dart_11 : Set - set :  * Set 선언 방법   - Set과 List의 공통점 :1. sequences : 순서가 존재한다. - Set과 List의 차이 :1. Set에 속한 모든 Item은 유니크하다.   1을 3번이나 추가했지만, 출력 값은 그대로이다. List의 경우는 유니크하지 않기 때문에 중복이 가능하다.   * 요약 : 중복이 필요하면 List, 중복이 필요하지 않으면 Set 사용. 더보기
Dart_10 : Maps Map은 JavaScript나 TypeScript의 object, python의 dictionary 같은 것이다. Key는 String이고 Value는 Object이다. (object에는 원하는 어떤 것이든 올 수 있다)(Dart에서는 모든게 object로부터 생겨서 object는 기본적으로 어떤 자료형이든지 될 수 있다.) key와 Value는 String 말고 다른 것이 올 수 있다. var 키워드 대신, Map 키워드를 사용할 수 도 있다.  다음과 같이 복잡한 정의도 가능하다. 더보기