Class/Object/Constructor

dbscks1239·2021년 11월 9일
0

dart language

목록 보기
1/12

코드작성중, 클래스와 객체를 생성하면서도 정확히 원리를 이해하지 못했다.
따라서 'Class'의 개념과 사용법에 대해 숙지해볼것이다.

Class란?

앱의 모든 요소들을 클래스를 통해서 만들어진다. 클래스가 실제로 구현되면 이를 객체라고 부른다.
예를 들어보자.
청사진이 있고, 여기에 자동차를 그려보고 공장에서 실제로 구현된다고 가정하자. 이때, 청사진이 클래스이고 실제로 구현된 자동차가 객체가 되는것이다.
클래스는 속성과 메소드가 필요하다. 속성은 자동차의 색상, 사이즈, 바퀴의 수 등 객체의 특징을 정의하고, 메소드는 회전, 제동 등 객체가 수행할 수있는 행동을 기능을 정의한다.

Class/객체 생성하기

클래스/클래스로부터 객체의 생성방법은 다음과 같다.

  • 클래스생성
class 클래스이름{}

{}안에 들어갈 속성과 메소드 생성은 각각 변수, 함수생성과 동일하다.※
클래스에서는 변수와 함수를 속성과 메소드라 칭한다

  • 객체생성
클래스이름 객체이름 = 클래스이름();

ex. 정수 5 를 가지는 'numberOfSeats' 속성과 'wheels start turning'이라는 텍스트를 출력하는 'drive' 메소드를 가지는 'Car'클래스를 생성하고, 'myCar'객체를 생성하자.

class Car {
  int numberOfSeats = 5;
  void drive() {
    print(
    'wheels start turning');
  }
}  // 클래스 생성
void main(){
'
'
'
Car myCar = Car();  // 객체생성
'
'
}

생성한 객체 사용하기

객체 사용법은 '객체이름.속성or메소드'이다.
아래의 상황을 가정하자.

void main(){
  Human jenny = Human();  // 'jenny' 객체 생성
  Human tylor = Human();  // 'tylor' 객체 생성
 
}

class Human {
  double height = 15;
  int age = 0;
  void talk(String talk) {
    print(talk);
  }
}  // 'height'와 'age' 속성을 가지는 'Human'클래스 생성

각 객체의 속성을 출력하자.
각 객체의 속성값을 정의 하지않았기 때문에, Class에 정의되어 있는값이 출력된다. 객체의 속성값을 주면 다음과 같이 각 객체에 정의된 값이 출력된다.

클래스 내에 지정한 텍스트타입 매개변수를 출력하는'talk'함수를 생성하고, 사용하자.

객체의 값 초기화

생성자를 통해서 원하는 값으로 객체의 속성을 초기화할 수 있다.
생성자 생성방법은 아래와 같다.

생성자이름(매개변수지정){
  초기화하고싶은속성 = 매개변수;
}

지정한 매개변수와 속성의 데이터 타입은 동일해야한다.
'dart'언어에서는 생성자이름과 클래스명이 동일해야한다.
'Human'클래스의 'height'속성을 초기화하고 객체를 생성해보자.위와같이, 객체 생성시 '( )'안에 원하는값을 지정해주면된다.

profile
Flutter 학습 일기

0개의 댓글