[Dart] 단일 상속과 Mixin
·
Flutter/Basic Knowledge
이번 포스팅은 아래의 실습 코드를 가지고 내용을 작성해본다. 단일 상속 현재 위의 코드에서 Animal과 Dog, Cat은 단일 상속 관계이며, Dart 언어에서 다중 상속은 지원하지 않는다. 때문에 다중 상속이 필요한 경우, 즉 코드 재사용을 원하는 경우에는 Mixin이라는 개념을 통해 다중 상속을 구현하도록 한다. Mixin 상속의 경우 extends라는 키워드를 사용하고, Mixin의 경우 with이라는 키워드를 사용한다. 위의 fish와 duck 클래스를 보자. fish는 swimmer를 Mixin 하였다. duck은 Animal Class를 단일 상속받으며 swimmer를 Mixin 하였다. 나는 여기까지 실습해보면서, 그럼 도대체 단일 상속하고 Mixin의 차이점이 뭐지? 라는 생각이 들었다...
[Dart] AOT(Ahead-Of-Time) 과 JIT(Just-In-Time) 컴파일러
·
Flutter/Basic Knowledge
Dart 언어는 AOT, JIT 두 가지 컴파일 모드를 지원한다. 나는 개인적으로 해당 컴파일 방식이 매우 Cool 하다고 생각함 ! 이렇게 컴파일러를 분리한 이유는 개발자 친화적인 방식으로 개발 환경의 편의성을 늘려주기 위함에 있는 것 같다 :) 내가 Dart 언어를 사용하면서 가장 크게 좋다고 느꼈던 부분 중 하나이기 때문에 내용을 작성해보기로 했다. 1. JIT (Just-In-Time) 컴파일러: 실행 시간 컴파일: JIT 컴파일러는 애플리케이션이 실행 중일 때 코드를 컴파일한다. 따라서 개발자가 코드를 수정하고 다시 실행할 때 마다 최신 코드로 빠르게 반영된다. (매우 매우 매우 Cool!) 인터프리터와 컴파일러 혼합: 코드를 인터프리터로 빠르게 실행하면서, 동시에 컴파일을 진행하여 최적화된 코..
[Dart] Garbage Collection 이란?
·
Flutter/Basic Knowledge
Dart에서 기본적으로 제공하는 Garbage Colletion 은 메모리를 조금 더 효율적으로 사용할 수 있게 제공하는 메모리 관리 프로세스이다. 이전에 공부한 경험이 있는 언어인 Swift에서는 ARC(자동 참조 카운팅)를 활용해 자동으로 메모리를 관리해주었는데 Dart에서는 해당 역할을 Garbage Collection이 수행하는 것 같다. 아래는 Garbage Collection에 대해서 알아본 바를 작성하고, ARC와 어떤 점이 다른지 비교해보았다. Garbage Collection의 작동원리 1. 객체 생성 : Dart에서는 객체가 동적으로 생성될 때 메모리가 할당된다. 2. 참조 관리 : 객체는 다른 변수나 객체에 의해 참조 되어진다. 이러한 참조들을 통해 객체에 접근할 수 있다. 3. 사용..
[Dart] Dart 란?
·
Flutter/Basic Knowledge
Dart는 구글에서 개발한 객체지향 프로그래밍 언어로, 주로 모바일 애플리케이션 개발 및 웹 개발에 사용한다. 아래는 Dart 언어의 주요 특징과 특성을 간략하게 설명한 것이다. 1. 객체지향 프로그래밍 (OOP) Dart는 객체지향 프로그래밍 언어로, 코드를 클래스와 객체로 구성된다. 이는 상속, 다형성, 캡슐화와 같은 객체지향 개념을 효과적으로 활용할 수 있게 해준다. 2. 가비지 컬렉션 (Garbage Collection) 메모리 관리를 자동으로 처리하는 가비지 컬렉션을 제공하여, 개발자가 메모리를 명시적으로 관리할 필요가 없다. 이로써 코드가 더 간결하게 유지된다. 3. 단일 상속 및 믹스인 (Single Inheritance and Mixins) 단일 상속을 지원하며, 동시에 믹스인을 통해 다중..