Welcome To

후니's Blog

Hello World
Let's Focus On
Dart 기본 문법
·
Dart
Dart 기본 문법변수자료형var처음 담긴 값으로 타입이 자동으로 지정된다.String문자열을 의미한다.String?문자 또는 null 상태일 수 있다.final String문자를 한번 담은 뒤 재할당 불가능하다.int / doubleint는 정수를 의미한다.double은 실수를 의미한다.bool참 거짓을 나타낸다.List데이터를 여러개 가진 배열을 의미한다.Map{key: value}의 형태를 의미한다.key와 value에는 모든 형태의 자료형이 올 수 있다.dynamic모든 자료형을 담을 수 있다.타입 확인변수명.runtimeType으로 타입을 확인 할 수 있다.변수명영문, _, $, 숫자만 사용 가능하다.숫자로 시작 불가능하다.카멜케이스(CamelCase)를 사용한다.
싱글톤
·
Typescript
싱글톤객체지향 프로그래밍에서 사용되는 패턴 중 싱글톤 패턴이라는 것이 있다.싱글톤 패턴에서는 한 클래스의 인스턴스를 정확히 1개만 생성한다.정적 메서드나 프로퍼티를 사용할 수 없거나 사용하고 싶지 않을 때 유용하게 사용할 수 있다.하지만 클래스의 객체를 여러 개 생성하지 않고 정확히 1개만 생성할 수 있도록 제한해야 한다. abstract class ShoppingMall { constructor(protected productId: string, protected productName: string) {} abstract printProduct(this: ShoppingMall): void;}class Grocery extends ShoppingMall { constructor(prod..
추상화(abstract)
·
Typescript
추상화(abstract)특정 클래스를 상속 받을 때 특정 메서드를 구현하거나 특정 메서드를 오버라이드하도록 강제하고 싶을 때 사용한다.언제 강제해야 할 상황이 생길까 ?예를들어 한 클래스를 상속받는 모든 클래스에서 특정 메서드를 구현할 필요가 있고, 상속받는 각 부서마다 메서드를 다르게 구현해야 할 때 이를 강제할 상황이 생긴다. 한 클래스의 메서드 또는 프로퍼티를 공통으로 공유하면서 기본 클래스에서 고정된 값이나 구현을 제공할 필요 없이 상속받는 클래스에서 구현하도록 만들 수 있다.abstract 키워드를 사용한 클래스는 인스턴스화 할 수 없다.즉, 오로지 상속을 주기 위한 클래스로 존재한다. abstract class ShoppingMall { constructor(protected produc..
정적 메서드
·
Typescript
정적 메서드정적 프로퍼티와 메서드는 클래스의 인스터스를 통해 액세스하지 않더라도 사용할 수 있는 프로퍼티와 메서드이다.즉, new 키워드로 인스턴스를 생성하지 않더라도 클래스 자체에서 액세스할 수 있다.주로 클래스에서 사용할 유틸리티 함수를 정의하거나 클래스에 저장하는 전역 상수를 관리하는데 사용된다.타입스크립트에서 정의되거나 직접 정의되지 않고 자바스크립트에 내장된 예시로 Math 클래스가 있다.Math의 인스턴스로 액세스하는 메서드나 프로퍼티가 아니므로 new Math와 같이 인스턴스를 생성하지 않아도 된다.클래스 자체에서 액세스하는 프로퍼티나 메서드이기 때문이다.이와 같이 클래스에서도 직접 정의할 수 있다.class ShoppingMall { protected employees: string[..
getter & setter
·
Typescript
getter & settergetterclass ShoppingMall { protected employees: string[] = []; constructor( private productId: string, private productName: string, public productType: string ) {} printProduct(this: ShoppingMall) { console.log("productId : " + this.productId); console.log("productName : " + this.productName); console.log("productType : " + thi..
상속, protected
·
Typescript
상속class ShoppingMall { constructor( private productId: string, private productName: string, public productType: string ) {} printProduct(this: ShoppingMall) { console.log("productId : " + this.productId); console.log("productName : " + this.productName); console.log("productType : " + this.productType); }}const shoppingMall = new ShoppingMall..