28. “프로그램언어 다트(Dart)에서의 메모리 관리”

다트(Dart) 메모리 관리란? 다트(Dart)는 가비지 컬렉션(Garbage Collection)이라고 하는 자동 메모리 관리 시스템을 사용합니다. 이것은 프로그램이 동적으로 할당한 메모리 영역을 자동으로 해제해주는 역할을 합니다. 즉, 프로그래머가 직접 메모리를 해제하지 않아도 됩니다. 가비지 컬렉션의 원리 가비지 컬렉션은 일반적으로 두 가지 단계로 작동합니다. 첫 번째 단계는 ‘마킹(Marking)’ 단계로, 이 단계에서는 사용 중인 메모리 영역이 어딘지 찾습니다. 두 번째 … Read more

27. “프로그램언어 다트(Dart)에서의 파일 입출력”

프로그램언어 다트(Dart)란? 다트는 Google에서 제작한 일반적인 목적을 가진 프로그래밍 언어입니다. 웹, 서버, 모바일 애플리케이션 개발에 사용되며, 특히 Flutter라는 모바일 애플리케이션 개발 프레임워크와 함께 사용됩니다. 다트(Dart)에서의 파일 입출력 개발을 하다 보면 파일에서 데이터를 읽어오거나, 데이터를 파일에 쓰는 경우가 많습니다. 이런 경우를 위해 다트에서는 ‘dart:io’라는 라이브러리를 제공하고 있습니다. 위 라이브러리를 이용하면 파일 읽기, 쓰기 등의 작업을 할 … Read more

26. “프로그램언어 다트(Dart)에서의 제너럴(Generic) 사용 법”

다트(Dart) 프로그래밍 언어란? Dart는 Google이 개발한 범용 프로그래밍 언어로, 모바일, 웹, 서버 개발 모두에 사용할 수 있습니다. Dart는 객체 지향적이고 클래스 기반의 언어이며, 많은 모던 프로그래밍 언어들과 비슷한 구조를 가지고 있어 배우기가 쉽습니다. 제너릭(Generic)이란? 제너릭(Generic)은 코드를 더 유연하게 만들어 주는 프로그래밍 기법 중 하나입니다. 자료형에 독립적인 코드를 작성할 수 있기 때문에, 같은 기능을 하는 코드를 … Read more

25. “프로그램언어 다트(Dart)에서의 모듈화와 핵심 라이브러리”

1. Dart 언어와 모듈화 Dart는 구글에서 개발한 웹 및 모바일 앱 개발을 위한 언어입니다. 코드의 재사용성과 유지보수를 쉽게하기 위해 ‘모듈화’라는 개념을 사용합니다. 모듈화란, 큰 프로그램을 작은 부분들로 나누는 것을 말한다. 각 부분은 기능별로 나누어져 있으며, 이러한 방식으로 코드를 관리하면 유지보수가 쉽고, 복잡성을 줄일 수 있습니다. 2. Dart에서의 모듈화 Dart에서는 ‘라이브러리’라는 개념을 통해 모듈화를 합니다. 라이브러리는 … Read more

24. “프로그램언어 다트(Dart)에서의 프로미스와 async/await을 이용한 비동기처리”

비동기처리란 무엇인가? 먼저, 비동기 처리에 대하여 이해해보겠습니다. 비동기 처리란 한 작업이 끝나기를 기다리는 동안 다른 작업을 처리하는 방식을 말합니다. 이렇게 함으로써 프로그램의 효율을 높일 수 있습니다. 예를 들어, 우리가 레스토랑에서 음식을 주문하고 대기하는 상황을 생각해볼 수 있습니다. 음식이 나올 때까지 놀이하거나 책을 읽는 등의 다른 활동을 할 수 있는 것과 비슷하다고 이해하시면 됩니다. 다트(Dart)의 프로미스와 … Read more

23. “프로그램언어 다트(Dart)에서의 동기와 비동기 프로그래밍”

프로그래밍 언어 다트(Dart) 소개 Dart는 Google이 개발한 웹 및 모바일 애플리케이션 개발을 위한 프로그래밍 언어입니다. Flutter라는 모바일 앱 개발 프레임워크에서 주로 사용됩니다. 절차지향, 객체지향, 그리고 클래스 기반의 특성을 가지며, JavaScript와 유사한 문법을 가지고 있습니다. 동기와 비동기 프로그래밍이란? 동기적 프로그래밍은 코드가 차례대로 실행되며, 한 작업이 완료되어야 다음 작업이 시작됩니다. 이와는 반대로 비동기적 프로그래밍은 특정 작업의 완료를 … Read more

22. “프로그램언어 다트(Dart)에서의 지연 로딩과 예외 처리”

다트(Dart)의 지연 로딩(Lazy loading) 지연 로딩은 애플리케이션의 성능을 향상시키는 방법입니다. 다트 언어에서 지연 로딩은 애플리케이션의 특정 부분이 필요할 때까지 기다릴 수 있음을 의미합니다. 즉, 필요하지 않은 코드 부분은 로드하지 않아 앱의 시작 시간이 단축됩니다. import ‘package:deferred/hello.dart’ deferred as hello; void main() { hello.loadLibrary().then((_) { hello.printGreeting(); }); } 예외 처리(Exception Handling) 프로그램에서 예외 추척은 매우 중요합니다. … Read more

21. “프로그램언어 다트(Dart)에서의 추상화와 인터페이스”

다트(Dart)에서의 추상화와 인터페이스 추상화(Abstraction)와 인터페이스(Interface)는 객체 지향 프로그래밍의 핵심 원칙 중 하나입니다. 이들은 복잡한 시스템을 단순하게 만들어 주고, 코드 간의 상호 작용을 용이하게 하며, 효율성을 증가시킵니다. 추상화란? 추상화는 특정 시스템이나 프로그램의 복잡한 기능이나 프로세스를 단순화하는 과정입니다. 사용자가 어떻게 작동하는 지 모르더라도 그 기능을 이해하고 사용할 수 있게 해줍니다. 다트에서의 추상화 다트에서 추상클래스는 인터페이스와 마찬가지로 사용됩니다. … Read more

20. “프로그램언어 다트(Dart)에서의 다형성”

다트(Dart) 프로그래밍 언어란? 다트(Dart)는 Google이 개발한 언어로, 서버와 브라우저 양쪽에서 실행 가능하며 모바일 앱 개발 플랫폼인 Flutter의 주요 언어입니다. 기존의 JavaScript와 같은 동적 타입 언어의 단점을 보완하고, 유연성과 성능을 모두 만족시키기 위해 만들어졌습니다. 다형성(Polymorphism)이란? 다형성이란 한 객체가 여러 타입으로 표현될 수 있는 성질을 의미합니다. 다형성을 이용하면 다양한 객체를 한 개의 객체처럼 취급할 수 있어 코드를 … Read more

19. “프로그램언어 다트(Dart)에서의 상속과 오버라이딩”

상속(Inheritance)이란? 다트(Dart)에서 상속이란 한 클래스의 특성을 다른 클래스가 물려받는 것을 말합니다. 이를 통해 코드의 재사용성을 높이고 효율적인 코딩을 가능하게 합니다. 상속하는 클래스를 ‘슈퍼 클래스’ or ‘부모 클래스’라고 하고 받는 클래스를 ‘서브 클래스’ or ‘자식 클래스’라고 합니다. class Parent { void message() { print(“This message is from parent class.”); } } class Child extends Parent {} … Read more