Dart 기본 문법 (3) - 클래스, 생성자

데구르르·2023년 12월 4일
0

Flutter

목록 보기
3/17

클래스

클래스는 객체를 가상세계 용으로 구체화한 것이다. 클래스를 정의하면 인스턴스를 생성할 수 있게 된다. 인스턴스는 클래스를 활용해 메모리에 저장되는 것이다. 또한, 클래스 고유의 변수 타입을 사용할 수 있게 된다.

즉, 클래스는 인스턴스를 생성하기 위한 틀이 클래스인 것이다. 😊😊

인스턴스 생성

대부분의 객체지향 언어에서는 new 키워드로 클래스의 인스턴스를 생성하지만, Dart에서는 new를 생략 가능하다. 생성된 인스턴스를 통해 클래스의 필드와 메소드를 이용할 수 있게 되는 것이다.

class College {
   	late String name;
    late int age;
    void enrollStudent() {
    	name = 'meme';
        age = 22;
    }
    
}

void main() {
	College myUniv = College();
    myUniv.enrollStudent();
    print('${myUniv.name}  ${myUniv.age}');   // output: meme  22
}

위 코드에서 myUniv는 College 타입으로, College 클래스의 필드와 메소드를 사용하려면 College 타입의 인스턴스를 사용해야 한다.

premitive type vs. reference type

자바에서는 int, double, float 등이 premitive type이고 string, object는 reference type인데 Dart에서는 모든 타입이 reference type이다. 즉, 모든 변수에 주소가 할당되는 것이다.

Naming Convention

클래스 이름은 명사로, 첫 글자를 대문자로 지으면 된다. ex) College, Human
필드 이름은 명사로, 두번째 단어부터 첫 글자를 대문자로 짓는다 (lowerCamelCase). ex) studentName, woman
메소드 이름은 동사로, lowerCamelCase로 짓는다. ex) study(), eatAll()

생성자

생성자를 만들때 필드에 required를 사용하면 인스턴스를 만들때 무조건 그 필드에 대한 값을 지정해줘야 한다.

profile
개발 기록

0개의 댓글