전체 글(141)
-
[Dart] 믹스인
Mixin mixin 예약어로 믹스인을 선언한다. mixin MyMixin{ int data = 10; void func() { print("mixin"); } } 믹스인에는 변수와 함수를 선언할 수 있지만 클래스가 아니라 생성자는 선언할 수 없다. 생성자가 없으니 객체를 생성할 수 없다. 믹스인 활용 다트를 비롯하여 대부분의 객체지향 언어에서 다중 상속을 지원하지 않는다. 여러 클래스에서 선언된 멤버를 상속한 것처럼 사용하고 싶을 때 믹스인을 사용한다. 이 때 with 예약어를 사용한다. mixin MyMixin { int data = 10; void func() { print("mixin"); } } class MyClass with MyMixin { void func() { print("$data"..
2023.04.28 -
[Dart] 다트에서 제공하는 연산자
기초 연산자들은 다른 프로그래밍 언어와 비슷하다. 나누기 연산 / 나누기 결과를 실수로 반환한다. ~/ 나누기 결과를 소수점을 버리고 정수로 반환한다. 타입 확인 is 피연산 객체가 특정 타입이라면 true, 아니면 false를 반환한다. class User { } main() { Object obj = User(); print(obj is User); } 타입 변환 as 상위 클래스에서 하위 클래스로 자동 형변환이 안되므로 명시적으로 형변환 하는 연산자다. class User { func() {} } main() { Object obj = User(); (obj as User).func(); } 반복 접근 같은 객체에서 반복해서 접근할 때 사용할 수 있는 연산자이다. class User { String..
2023.04.28 -
[Dart] 다트란 무엇인가
다트는 크로스 플랫폼에 기반을 둔 프로그래밍 언어이다. 플러터를 개발하는데 다트가 쓰인다. 다트 파일 실행 main 함수가 프로그램의 엔트리 포인트이다. 다트 엔진이 다트 언어로 작성된 파일을 실행하면 main 함수가 호출되는 것! 다트 파일 구성 요소 다트 파일은 top level에 변수, 함수, 클래스를 선언할 수 있다. Java는 top level에 작성할 수 있는 구성 요소가 클래스뿐이지만 다트 언어는 변수, 함수도 선언할 수 있다는 차이점이 있다. int num=10; // 변수 선언 void sayHello(){ // 함수 선언 print("Hello World!"); } class Hello { // 클래스 선언 int num=20; void sayHello() { print("Hello, ..
2023.04.27 -
[Flutter] flutter 프로젝트 만들기
vscode에서 Dart, Flutter 플러그인 설치를 한다. 팔레트에서 flutter 프로젝트를 생성한다. lib : 주 작업 폴더 pubspec.yaml : 라이브러리 및 설정을 하는 폴더 android : Android 프로젝트 폴더 ios : IOS 프로젝트 폴더 web : Web 프로젝트 폴더 Main.dart 파일 작성하기 import "package:flutter/material.dart"; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { re..
2023.04.26 -
[Flutter] Windows Version (Unable to confirm if installed Windows version is 10 or greater)
flutter doctor 명령 시 다음과 같은 진단을 받았다. 다음 명령어를 진행한 이후 flutter doctor을 다시 해보니 Window Version이 확인된 듯하다. flutter channel master flutter upgrade
2023.04.25 -
[React] 컴포넌트 생명주기
State state는 컴포넌트에 속하는 객체로 컴포넌트와 관련된 정보를 저장하고 컴포넌트에 의해 관리된다. state 객체가 변경되면 해당 컴포넌트는 리렌더링된다. class Clock extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; } render() { return ( Hello, World! {this.state.date.toLocaleTimeString()}. ); } } 클래스 컴포넌트에서 constructor를 통해 state를 정의한다. 여기서 super(props)로 항상 상위 생성자를 호출해야한다. 클래스형 컴포넌트에서 특정 메소드를 선언하여 컴포넌트가 마운트되거나 언..
2023.03.17