Flutter/Dart - Class 클래스

PINKIPPO·2023년 7월 17일

Dart

목록 보기
5/6
post-thumbnail

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

플러터는 신인가? ㄹㅇㅋㅋ

Class(클래스)

Dart 언어는 객체지향 프로그래밍 언어로 객체를 생성하고, 그 객체들 사이에서 상호작용하며 모듈화된 코드를 작성하는 방법을 제공합니다.

프로그래밍을 Dart로 언어로 처음 시작하신 분들은 어려울수도 있어도 자바나 다른 객체지향 언어를 사용해봤던 사람은 어렵지않게 사용할 수 있다고 생각합니다 공부하러 가시죠

Class란 무엇인가

클래스는 비슷한 성격의 또는 기능의 변수와 함수를 모아놓은 것 입니다
코드로 보는게 편할 듯 하니까 작성하겠습니다

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();

Constructor(생성자)란 무엇인가?

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 생각보다 재미있을지도....?

profile
개발자가 될수있을까?

1개의 댓글

comment-user-thumbnail
2023년 7월 17일

저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!

답글 달기