언어/Dart 22

[Dart] Dart Class #4

Flutter는 class가 정말 중요하다정말 많이 쓰인다Dart의 class는 다른 언어와는 또 다를 것이다 Class에서 property를 선언할 때는 타입을 정의해서 사용한다function 경우는 var로 많이 하지만Player 라는 클래스 생성   main에서 player 클래스 호출그러면 인스턴스 하나가 생성됨 여기선 꼭 new를 쓸 필요는 없다 써도는 되지만   class Player { String name = 'sohee'; int xp = 1500;}void main() { var player = Player(); print(player.name);}player의 name 프로퍼티도 호출해서 출력해보자     이름도 name property에 값도 바꾸어 출력해 보고 이제 play..

언어/Dart 2025.04.01

[Dart] Typedef

typedef 자료형이 헷갈릴 대 도움이 될 alias를 만드는 방숫자로된 list를 가지고 list를 반대로 뒤집어서 return 하는 function을 만들//숫자 list를 전달받을 reverseList0fNumbers functionList reverseList0fNumbers(List list) { //전달받으면 그 list를 역순으로 반환 시킨다 var reversed = list.reversed; //List를 reversed 하면 List랑은 조금 다른 iterable이 돼서 다시//List로 변환해줘야 한다 return reversed.toList();}void main() {}그럼 이제 IntergetList의 alias 를 만들까?   // List 형태를 ListOfInt..

언어/Dart 2025.04.01

[Dart] QQ Operator

QQ Operator 는 ??로 표시(?? = Question Question Operator)그리고 ?= 로 표시하는 Operator에 대해 알아본다내 이름을 대문자로 return 하는 함수를 만들 것이다   나는 여기에 null도 들어 왔으면 좋겠다 일단 null safety 때문에 에러가날때는  ? 붙이기 그러면 toUpperCase 함수가 에러가 난다 null을 대문자화 할 수 없으니  null이 아닐 경우에 toUpperCase를 사용한다고 하고null일 경우는 'ANON'으로 디폴트 값을 리턴한다 이 코드 마저도 fast arrow로 바꾸어주    String capitalizeName(String? name) => name != null ? name.toUpperCase() : 'ANO..

언어/Dart 2025.04.01

[Dart] Optional Positional Parameters

positional parameter는 순서에 맞춰 입력해야 한다 이 경우 required 한 값이 필요하다 정확한 순서만약 named argument 를 적용하고 싶지 않은데country는 required 하지 않게 하려면 어떻게 해야 할까?   main에서 korea를 지우고     sayHello 펑션의 String county 하이라이트해서 대괄호로 표시그리고 String? 라고 표시해주면 not required 상태가 된   그리고 korea 라고 디폴트 벨류를 설정해 준다 null safety에서 사용하는 ? 처럼country는 null일 수도 있다 가정하고 korea를 디폴트로 부여하는 것이   String sayHello(String name, int age, [String? countr..

언어/Dart 2025.04.01

[Dart] named Parameters

named Parameters 를 지원한다내가 하고 싶은건 sayHello 인데 그 밖에 더 정보를 보내고 싶다 String sayHello(String name, int age, String country) { return "Hello $name , you are $age, and you come from $country";}void main() { print(sayHello('sohee', 20, 'korea'));}이렇게 할 수도 있는데 가독성이 많이 떨어진다void main() { print(sayHello('sohee', 20, 'korea'));}부분의 sohee의 변수는 무엇이며20은 어떤걸 의미해서 보낸건지 korea도 어떤 의미로 보낸 건지 알 수 없다 named argument순..

언어/Dart 2025.04.01

[Dart] Defining a Funtion

Dart의 펑션은 정말 좋다고 한void sayHello(String name) { print("hello $name nice to meet you");}void main() {}sayHello 라는 펑션을 만들었다 하지만 그 전에 void라고 적었다 void는 아무것도 return 하지 않는다는 의미다출력도 안됐고 run도 아래 main함수에 있만약 이 함수가 뭔가 출력하는 대신 return을 하게 된다면 오류가 난다 void는 리턴할게 없기 때문에   하지만 void 말고 string으로 변경한다면 오류는 사라진다그리고 void main 함수에 sayHello 펑션을 불러 출력해보자  String sayHello(String name) { return "hello $name nice to meet..

언어/Dart 2025.04.01

[Dart] Sets

void main() { var numbers = {1, 2, 3, 4}; } 마우스를 올리면 set 라고 컴파일러가 생각해주었void main() { Set numbers = {1, 2, 3, 4};}이렇게 해줘도 된다Set과 List의 차이는Set의 속한 모든 값은 유니크 void main() { Set numbers = {1, 2, 3, 4}; numbers.add(1); numbers.add(1); numbers.add(1); numbers.add(1); print(numbers);}많은 1을 추가했지만 1은 하나만 나온다즉, 중복값은 제외한다 시퀀스 순서가 중요하다void main() { List numbers = [1, 2, 3, 4]; numbers.add(1); num..

언어/Dart 2025.04.01

[Dart] maps

Dart의 maps 는 jacascript나 typescript의 objectpython의 dictionary 같은 것  void main() { var player = { 'name': 'sohee', 'xp': 19.99, 'superpower': false, };} 그리고 마우스를 올려보면컴파일러가 play 변수는 Map형이라고 알려줬다key와 value로 이루어진 자료구조인 Map이다 심지어 Mapvalue가 Object로 저장되어 String이든 int이든 같이 저장한다 만약 Map을 int와 bool 으로 명시했다면그림처럼 오류가 난다 말그대로 정해진 int형식과 bool형식으로 데이터를 사용해야한다하지만 var로 했다면 컴파일러가 알아서 Map으로 인식하고value값도 Objec..

언어/Dart 2025.04.01

[Dart] Collection for

지난번 Collection if를 배웠는데 유사 기능인 collection for를 해볼 것이다 void main() { var oldFriends = ['sohee', 'seyoung']; var newFriends = ['tao', 'rahee', 'jarry'];}두개의 리스트를 만들었다oldFriends 에 newFriends 를 넣어줄 것이다 void main() { var oldFriends = ['sohee', 'seyoung']; var newFriends = [ 'tao', 'rahee', 'jarry', for (var friend in oldFriends) "(하트) $friend", ]; print(newFriends);}   newFriends 리스..

언어/Dart 2025.04.01