오늘은 Dart 언어의 Class 및 Constructor(생성자)에 대해서 알아봅시다

플러터는 신인가? ㄹㅇㅋㅋ
Dart 언어는 객체지향 프로그래밍 언어로 객체를 생성하고, 그 객체들 사이에서 상호작용하며 모듈화된 코드를 작성하는 방법을 제공합니다.
프로그래밍을 Dart로 언어로 처음 시작하신 분들은 어려울수도 있어도 자바나 다른 객체지향 언어를 사용해봤던 사람은 어렵지않게 사용할 수 있다고 생각합니다 공부하러 가시죠
클래스는 비슷한 성격의 또는 기능의 변수와 함수를 모아놓은 것 입니다
코드로 보는게 편할 듯 하니까 작성하겠습니다
void main(){
}
class Color{
String name = "Blue";
void checkColor(){
print("이 색은 ${this.name}입니다.");
}
}
하나의 변수와 이 변수를 print하는 단순한 함수를 정의한 Class 입니다
Class의 특징
- 객체를 생성하기 위한 청사진(blueprint)
- 속성(멤버 변수)과 동작(메서드)을 정의
- 객체를 생성하기 위해 Class는 생성자(constructor)를 제공
- Class는 상속을 통해 다른 Class로부터 속성과 동작을 상속
- Class는 캡슐화를 통해 데이터와 기능을 보호
- 접근 제어자를 사용하여 외부에서의 접근을 제어
자바를 해보신분들은 빠르게 적응할 수 있습니다 비슷하거든요
//선언된 클래스를 선언
Color color = new Color();
//Dart 2.0 부터 new가 없어도 가능
// ex -> ClassName instance = ClassName();
이와같이 class를 인스턴스로 변화하는 것 -> Instantiation(인스턴스화) 이라고 합니다
이제 인스턴스 내부의 함수와 값을 사용해봅시다
Color color = new Color();
color.checkColor();
void main(){
Color color = Color("빨강", "색");
color.checkColor();
}
class Color{
String name;
String group;
//생성자
Color(String name,String group):this.name = name,this.group = group;
void checkColor(){
print("이 ${this.group}은 ${this.name}입니다.");
}
//네임드 생성자
Color.fromMap(Map input): this.name = input['name'], this.group = input['group'];
}
클래스는 대부분의 언어에서 매우 중요한 개념이므로 눈으로만 보지말고 직접 Class들을 생성해보고, 여러번 반복하면서 체화하는게 좋다고 생각합니다. Dart 생각보다 재미있을지도....?
저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!