Fox Moon
중요 개념 모든 변수는 객체(object)이다. 모든 객체는 클래스의 인스턴스이다. 숫자, 함수, null도 객체다. 모든 객체는 Object 클래스로부터 상속된다. 타입 어노테이션은 타입 추론이 가능할 경우 옵션이다. 예를 들어 int number = 10;으로 명시적으로 타입을 지정하지 않고 var number = 10;으로 사용 가능하다는 의미이다. 타입이 예상되지 않는다고 명시적으로 표현하고 싶을 때는 dynamic 키워드를 사용한다. 이것은 하나의 변수가 여러 타입으로 변경 가능하다는 의미이다. var 키워드와 비교해보면 좀 더 이해하기 쉽다. var는 다음과 같이 String 타입으로 지정된 후에는 int 타입을 참조할 수 없다. var name = "Kim"; name = 10...
2022.03.31
선택자 종류 예시 설명 div[class~=ko-kr] { background-color: red } ko-kr 을 포함하는 태그를 선택 div[class|=ko-kr] { background-color: red } ko , kr 을 포함하는 태그를 선택 div[class^=ko-kr-name] { background-color: red } ko-kr 로 시작하는 태그를 선택 div[class$=name-ko-kr] { background-color: red } ko-kr 로 끝나는 태그를 선택 div[class*=name-ko-kr-name] { background-color: red } ko-kr 을 포함하는 태그를 선택 예시 html 코드 <div class="box_1">...
2022.03.31
List : 데이터 순서가 있고 중복 허용 Set : 데이터 순서가 없고 중복 허용하지 않음 Map : 키(key)와 값(value)으로 구성되며 키는 중복되지 않고 값은 중복 가능 List 데이터 순서가 있고 중복 허용 데이터를 여러 개 담을 수 있는 자료구조 데이터를 List에 담을 때 순서를 가지기 때문에 배열을 대체할 수 있고 데이터에 순차적으로 접근하기 쉽다 List<데이터 타입> 변수명 = [데이터1, 데이터2, 데이터3, ...]; List<String> colors = ['Red', 'Orange', 'Yellow']; List<데이터 타입> 변수명 = List(); colors .add(데이터1); colors .add(데이터2); colors .add(데이...
2022.03.30
플러터에서 새로운 화면을 만들 때는 마치 웹사이트의 주소가 변하는 것과 비슷하게 '경로(route)'로 관리 '하나의 경로'는 '하나의 화면' 플러터에서 라우트를 왔다갔다 하기 위해서는 Navigator를 사용 화면을 바꾸는 방법 라우트 2개 (= 화면 2개) Navigator에 라우트를 push (= 화면을 이동) Navigator에 있는 라우트를 pop (= 이전 화면으로 돌아감) import 'package:english_words/english_words.dart'; import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class My...
2022.03.29
ListTile에 아이콘을 추가하여 이름 저장하기 사용자가 원하는 이름을 선택 선택한 이름을 저장 import 'package:english_words/english_words.dart'; import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { // final wordPair = WordPair.random(); return MaterialApp( title: '플러터 학습', home: RandomWords(), ); } } class RandomWords extends Stat...
2022.03.29
과제 내용 Flutter 앱을 처음부터 만들었습니다. Dart 코드를 작성했습니다. 외부 서드파티 라이브러리를 활용했습니다. 빠른 개발 사이클을 위해 hot reload를 사용했습니다. Stateful 위젯을 적용했습니다. Lazy한 방식 무한 스크롤 목록을 만들었습니다. 학습 요점 실행 결과 소스 코드 import 'package:flutter/material.dart'; import 'package:english_words/english_words.dart'; /* 외부 패키지 이용하기 1) pubspec.yaml의 의존성 목록에 english_words 추가 2) flutter pub get 명령 실행 */ void main() => runApp(MyApp()); class MyApp extend...
2022.03.29
1. Android Studio 설치 https://developer.android.com/studio?hl=ko 설치(exe)버전으로 다운로드 (포터블버전(zip)은 path 등 추가 설정 필요) Android Studio 설치 경로 D:\Android Studio Android SDK 설치 경로 D:\Android_SDK 2. Git 설치 https://gitforwindows.org/ 기본 에디터를 VSCode 로 윈도우 콘솔을 기본으로 3. VSCode 설치 https://code.visualstudio.com/ flutter 확장프로그램 설치 4. Visual Studio 설치 https://visualstudio.microsoft.com/ko/downloads/ Desktop developmen...
2022.03.29