Primary Constructors(주 생성자)

개념 파악하기 최소 Dart 언어 버전 3.13 기능: 클래스 선언 첫 줄에 필드 + 주 생성자를 한 번에 선언할 수 있어 상용구 코드를 크게 줄입니다. 런타임 동작 방식은 기존 일반 …

생성자

생성자란 무엇인가 생성자는 클래스 인스턴스를 생성하기 위한 특수 함수로, 주로 속성 초기화에 사용됩니다. 기본 생성자를 제외한 모든 생성자는 클래스명과 동일한 이름을 가집니다. Dart 생성자 분류: 1. 생성형 생성자 Generative Constructor …

클래스 class

클래스와 객체란 무엇인가 클래스는 사물을 분류하고 추상화하는 개념입니다. 주변 현실의 대상을 하나의 타입으로 묶어 정의하는데, 전 세계 모든 사람들을 ‘사람’이라는 클래스로 추상화한다고 생각하면 쉽게 이해할 수 있습니다. Bob, Tom처럼 구체적인 …

Libraries 라이브러리

모든 Dart 파일은 자체적으로 라이브러리입니다 library 지시자를 적지 않아도 적용됨; 접근 권한 규칙:식별자가 밑줄 _로 시작하면 라이브러리 전용(private)으로, 같은 라이브러리 내에서만 보이고 다른 파일/라이브러리에서는 접근 불가; Dart에는 public/protected/private 키워드가 없으며 …

메타데이터 어노테이션

메타데이터 어노테이션이란 무엇인가 @로 시작하며 코드에 정적 부가 정보를 첨부합니다. 컴파일러, IDE, 정적 분석기가 읽으며 실행 로직에 영향을 주지 않습니다. 합법적인 작성 방식은 두 가지입니다: 주로 클래스, 메서드, 변수, 함수, …

Function

Dart 언어에서 함수 역시 객체로 취급되는데, 이는 다른 프로그래밍 언어와 약간 차이가 있습니다. 함수는 일급 객체 Dart는 완전한 객체지향 언어로, 함수 자체가 객체이며 타입은 Function입니다. 변수에 할당하거나 다른 함수의 인자로 …

예외 오류 처리

Dart의 모든 예외는비검사 예외로, 함수에 던질 타입을 선언할 필요가 없으며 반드시 포착해야 하는 규칙도 없습니다. 크게 두 가지로 분류됩니다. 널이 아닌 모든 객체는 throw로 던질 수 있지만 실무 프로젝트 규칙상 …

분기 제어 흐름

1. if / if-else 기본 분기 실행 결과 if만 단독으로 사용하는 경우도 가능합니다 혹은 if else만 따로 작성할 수도 있습니다 2. if-case 패턴 매칭 분기 (Dart 3.0 이상 버전 지원) …

반복문 Loops

1. 표준 for 반복문 문법:for(초기화; 조건; 반복처리) { 반복문 본체 } 1:기본 문자열 연결 0부터 5까지 반복(5는 미포함)이므로 i 값은 0~4까지 총 5회 실행합니다. 매번 문자열 끝에 느낌표를 붙입니다. 1회차 …

Pattern

1. 논리 OR 패턴 A || B 하위 패턴 중 어느 하나라도 일치하면 매치됩니다. 모든 분기는 완전히 동일한 변수 집합을 정의해야 합니다. 2. 논리 AND 패턴 A && B 두 …