분류 전체보기
-
flutter - 앱 개발 실습(pubspec.yamal, 폴더 설명, 앱 실습)Flutter 2021. 7. 17. 03:03
[pubspec.yamal] -> 이 파일은 앱을 만들때 자주 사용하는 파일이다. -> pubspec 파일은 프로젝트의 메타 데이터를 정의하고 관리하는 것 -> 프로젝트의 버전이나 프로젝트의 사용환경, dart의 버전이나 각종 디펜던시와 서드파티 라이브러리 등을 이곳에서 정의한다. [폴더 설명] [android/ ios 폴더] -> 각 플랫폼에 맞게 앱을 배포하기 위한 정보들을 가지고 있다. [test 폴더] -> dart 관련 코드를 test해볼 수 있는 폴더 [lib 폴더] -> 여기에 가장 중요한 main.dart 파일이 들어 있다. -> 앞으로 앱을 만들때 주로 여기서 작업한다. [앱 만들기] 1단계로 flutter/material.dart를 import 한다. import 'package:flu..
-
flutter - 위젯(Stateless Widget, Stateful Widget, Flutter Widget Tree)Flutter 2021. 7. 17. 02:22
[위젯] -> 위젯이란 독립적으로 실행되는 작은 프로그램 -> 플러터에서 위젯이란 UI를 만들고 구성하는 모든 기본 단위 요소 -> 화면 속의 이미지, 텍스트, 아이콘, 텍스트 필드, 버튼 등등을 모두 플러터에서는 위젯이라고 한다. -> 또한 눈에 보이지 않는(center, padding column 등) UI 디자인 관련해서 레이아웃을 돕는 요소들 까지도 위젯이라고 한다. 레이아웃을 정의하는 모든 요소들도 위젯이라고 한다. -> 이러한 작은 요소요소가 모여 만들어진 앱 그자체도 위젯이다. (플러터는 비쥬얼 에디터가 없지만 코트를 ctrl + s 로 저장했을때 바로 에뮬레이터에 적용되는 것에 많이 놀랐다.) [Types of Widgets] -> 1. Stateless Widget -> 2. Statef..
-
flutter -시작하기(환경 설치 도중 어려웠던 점, vscode Error: Could not find or load main class)Flutter 2021. 7. 17. 01:17
- flutter doctor를 실행시켜 체크하는 과정에서 가장 어려웠던 점은 - 두번째 요소인 android toolchain 이였다. - 오류 하나를 찾아 고치면 연달아 다른 오류가 생겨 어려움이 있었다. - 가장 어려웠던 에러는 이틀정도 고생해서 오류를 찾을 수 있었는데 구글링해도 vscode 관련해서는 도통 찾을 수 없는 오류였다. [오류에 가장 근접하게 찾을 수 있었던 글] https://stackoverflow.com/questions/57857855/could-not-find-or-load-main-class-vs-code/57863396 Error: Could not find or load main class.... 라는 오류였다. 원인은 사용자 계정 폴더명에 공백이 있어서 프로그램이 뒤에..
-
day21 - JAVA (inner class, static 내부 클래스, non-static 내부 클래스, 지역 내부 클래스, 무명 클래스)KIC/JAVA 2021. 7. 17. 00:57
[inner class] -> 클래스 내부에 다시 클래스를 선언해야 하는 경우가 있다. -> 이렇겍 클래스 내부에 들어 있는 클래스를 내부 클래스라고 한다. -> 내부 클래스(중첩 클래스: nested class)는 바깥 클래스(Outer class)의 다른 멤버(메소드, 멤버변수를 말함) 와 같은 클래스의 멤버가 된다. -> 내부 클래스는 다른 클래스 멤버와 마찬가지로 접근 속성을 가질 수도 있으며, 바깥 클래스 외부에서의 접근가능 여부는 접근 제어자에 의해 결정된다. [static 내부 클래스] -> static 내부 클래스(static inner class)는 내부 클래스의 객체를 바깥 클래스에 대해 독립적으로 만들 때 사용 -> static 키워드를 가진 내부 클래스로, 멤버 변수나 메소드처럼 클..
-
day20 - JAVA (자바 , 인터페이스, final, static)KIC/JAVA 2021. 7. 16. 21:21
[인터페이스] -> 인터페이스 내에는 상수 또는 추상 메서드들만 정의가 가능하다. -> 사용하기 위해서는 일 반 클래스에서 구현(implements)력을 가져야 한다. -> 일반 클래스에서 “implements"라는 예약어로 특정 인터페이스를 구현하겠다고 명시한다. -> 명시한 인터페이스가 가지는 추상 메서드들은 구현 받은 클래스에서 하나도 빠짐없이 Overriding(재정의)해야 한다. -> jdk 8.0 이후부터 인터페이스도 구현부를 가진 메서드를 멤버로 가질 수 있다. -> 만약 다중 상속시에 중복되는 메서드가 있을 경우 꼭 상속받은 클래스에서 해당 메서드를 재정의 해줘야 한다. -> 인터페이스는 implements 를 사용해서 일종의 상속을 구현한다. 인터페이스를 상속 받을 때에는 extends ..
-
day19 - JAVA (자바 , 상속, super, Object 클래스, 오버라이딩, 다형성, 추상 클래스, pakage/import)KIC/JAVA 2021. 7. 16. 02:50
[상속] • 객체지향 개념의 가장 중요한 코드의 재사용을 프로그램으 로 구현하는 부분이다. • 새로운 클래스를 생성할 때 처음부터 새로 작성하는 것이 아니라, 기존에 정의된 클래스로부터 중복되는 부분을 물려받아서 사용할 수 있다. 이후 새로운 클래스에서 추가되는 부분만 고심해서 프로그래밍하면 된다. • 프로그램을 전체를 새로 개발한 것이 아니므로 프로그램 개발기간의 단축과, 비용의 감소를 가져올 수 있고, 이미 실 시스템에서 안정적으로 돌아가는 코드부분을 사용하기 때문에 시스템이 더 안정적이다. -> extends를 중심으로 왼쪽이 서브 클래스이고 오른쪽이 슈퍼클래스이다. [super] -> super 레퍼런스: 슈퍼클래스를 가리키는 레퍼런스 -> super()메소드: 슈퍼클래스의 생성자를 호출 -> t..
-
day18_2- JAVA (자바 , 변수의 초기화, toString)KIC/JAVA 2021. 7. 15. 23:06
[변수의 초기화] -> 명시적 초기화 -> 초기화 블록 -> 생성자 [명시적 초기화] -> 변수를 선언과 동시에 초기화 하는 것 [초기화 블록] -> static 초기화 블럭, 인스턴스 초기화 블럭이 있다. -> staitc 초기화 블럭 - static 변수들의 초기화에 사용 -> 인스턴스 초기화 블럭 - 인스턴스 변수들의 초기화에 사용 [예시] -> 인스턴스 변수의 초기화는 생성자를 많이 사용해서 인스턴스 생성자 블럭은 잘 사용 안함 -> 초기화 블럭은 코드의 중복을 줄이기 위해서 사용 [멤버 변수 초기화 순서] [toString] -> 반복해서 출력해야할 문장이 길다면 toString을 활용 -> 우클릭 -> source -> generate toString() 선택하기 -> 간단하게 작성 가능 ->..
-
day18_1- JAVA (자바 ,static 메서드, 인스턴스메서드, 메서드 오버로딩, 생성자, this)KIC/JAVA 2021. 7. 15. 23:02
스태틱과 인스턴스의 차이 -> 스태틱은 변수 선언 시에 메모리 할당 -> 인스턴스는 new로 객체화 할때 메모리 할당 -> 즉 스태틱의 메모리 할당 시점이 더 빠르다는 것이 기억할 점 [static 메서드(클래스 메서드)] -> static 메서드로 표현 가능. static이 붙어있으면 클래스 메서드, 붙어있지 않으면 인스턴스 메서드이다. -> static 메서드는 변수의 선언이 될 때 바로 생성이 된다. new 연산자를 생성하지 않아도 바로 불러 쓸 수 있다. -> static 메서드는 durtl static 변수 처럼 객체를 생성하지 않고도 '클래스이름.메서드이름' 와 같은 식으로 호출이 가능 -> 메서드 내에서 인스턴스 변수를 사용하지 않거나, 클래스(static) 변수만 사용하는 메서드들은 sta..