전체 글(8)
-
Dart 프로그래밍 기초 - #8. 클래스 상속, 추상 클래스, 인터페이스
상속 Inheritance상속(Inheritance)은 하나의 클래스가 다른 클래스의 특성과 동작을 물려받는 것을 의미합니다. 마치 자식이 부모에게서 유전자를 물려받는 것과 같다고 생각할 수 있어요. 부모 클래스의 인스턴스 변수와 메소드를 자식 클래스에서 사용할 수 있게 하여, 코드의 중복을 줄이고 유지 보수를 쉽게 만듭니다. 이번에는 헤드폰을 예시로 한 번 들어보겠습니다.HTML 삽입미리보기할 수 없는 소스 Headphone 클래스는 volume이라는 인스턴스 변수를 가지고 있고, volume을 1씩 늘리거나 줄이는 decreaseVolume(), increaseVolume()이 정의되어 있습니다.23~29번 라인에서 BluetoothHeadphone가 정의되어 있는데요, extends 키워드를 사용해..
2024.10.20 -
Dart 프로그래밍 기초 - #7. 클래스 Class
Dart는 객체 지향 프로그래밍 언어이며, 데이터를 구조화하고 관련 기능을 묶어주는 역할을 하는 클래스Class로 필요한 객체Object들을 만들 수 있습니다. 클래스는 일종의 설계도나 레시피라고 생각하시면 될 것 같습니다. 만약에 커피를 만든다고 생각해 봅시다. 커피를 만들기 위해서는 최소한 몇 가지를 정해야 합니다.어떤 원두를 사용할 것인지따뜻하게 마실 것인지 차게 마실 것인지얼마 만큼의 물을 사용할 것인지이걸 클래스로 만들어 본다면 이렇게 될 겁니다. HTML 삽입미리보기할 수 없는 소스 1~11번 라인에서 Coffee라는 클래스를 정의합니다. 2~4번 라인에서 Coffee 클래스는 beanType, waterAmount, hot 데이터를 가집니다. 이를 클래스의 인스턴스 변수instance var..
2024.10.13 -
Dart 프로그래밍 기초 - #6. Generics
제네릭(Generics)은 클래스나 함수에서 데이터 타입을 미리 지정하지 않고, 나중에 사용할 때 원하는 타입으로 설정할 수 있는 프로그래밍 기능입니다. Dart에서 제네릭을 사용하면 여러 타입을 유연하게 처리할 수 있는 코드 작성을 가능하게 하며, 코드의 재사용성을 높이고, 타입 안전성을 보장할 수 있습니다. HTML 삽입미리보기할 수 없는 소스 위 예제에서 cities는 List 타입으로 추론됩니다. 따라서 리스트의 요소로 String만 넣을 수 있도록 허용되며, int, double, boolean 기타 다른 클래스 등의 타입을 추가하려면 아래와 같은 에러가 발생하게 됩니다.The argument type 'double' can't be assigned to the parameter type 'St..
2024.10.09 -
Dart 프로그래밍 기초 - #5. 컬렉션 Collection
같은 타입의 여러 데이터를 한꺼번에 효율적으로 관리하기 위해서는 Collection을 사용하면 좋습니다. Dart의 주요 컬렉션 타입에는 List, Set, 그리고 Map이 있습니다. 각각의 컬렉션이 어떤 역할을 하고, 어떻게 사용하는지 예시를 통해 쉽게 설명해드릴게요. List: 순서가 있는 데이터의 모음List는 말 그대로 "목록"을 의미합니다. Dart의 List는 순서가 있는 데이터의 집합을 나타내며, 배열과 유사한 기능을 합니다. (Dart에서는 배열이 따로 없고, 배열의 모든 역할을 List로 대체합니다.) 각 요소는 인덱스로 접근할 수 있습니다. List 대괄호[ ]로 요소들을 감싼 형태로 선언합니다. HTML 삽입미리보기할 수 없는 소스 위 코드에서 numberList라는 변수를 선언했습니..
2024.10.07 -
Dart 프로그래밍 기초 - #4. 제어 흐름
Dart 프로그래밍 언어에서 제공하는 제어 흐름(Control Flow)에 대해 알아봅시다. 제어 흐름은 프로그램이 코드의 어떤 부분을 실행할지 결정하는 방식입니다. 쉽게 말해, "어떤 일이 발생할 때 프로그램이 어떻게 반응하라"고 명시하는 것입니다. 지금부터는 각 흐름 제어문을 간단한 예시와 함께 설명하겠습니다. 조건문(if, else if, else)if 문은 특정 조건이 참일 때 코드의 일부를 실행하도록 합니다. 만약 조건이 거짓이라면, 여러 else if 문을 통해 다른 조건들을 확인해보고 실행하도록 할 수 있습니다. else if문에도 해당되는 조건이 없다면, else 문을 통해 대체 실행할 코드를 지정할 수 있습니다. HTML 삽입미리보기할 수 없는 소스 조건절의 괄호 안의 문이 참이면 해당하..
2024.09.25 -
Dart 프로그래밍 기초 - #3. 함수
함수는 '어떠한 작업을 처리하기 위해 미리 작성해 둔 코드의 조각'입니다. 프로그래밍에서 데이터를 가지고 '어떠한 행위'를 하고자 할 때 함수를 작성합니다. 함수는 function이라고도 부르기도 하고, method라고도 합니다.이전까지는 print()라는 함수만 써왔지만, 엄청나게 다양한 함수를 사용해보고, 직접 만들기도 하게 될 것입니다. 함수의 구성 요소Header함수명: 함수가 어떤 일을 하는지 표현하는 부분.파라미터(매개변수): 함수가 입력받을 값을 정의하는 부분. parameter라고도 하고 argument라고도 부릅니다.리턴 타입: 함수가 어떤 타입을 반환하는지 표현하는 부분.Body실제 알고리즘을 표현합니다.리턴 타입이 void가 아니라면 return 문을 추가해야 합니다. int 타입의 ..
2024.09.19