[Dev Log] Dart - 4 (클래스 - 1)

이건우·2023년 11월 22일
0

TiL

목록 보기
66/72

기억에 남는것

다른 클래스도 많이 만들거라 class에 대해 제대로 배우고 문법을 마스터 하는것이 중요하다. 다른언어에서의 class와 어떻게 다른지에 대해서도 배우는 것이 중요할 것이다.

1. First Dart Class

class Player {
	String name = 'lee'
	// final String name = 'lee'
	// final을 붙이면 값을 변경할 수가 없다. 
	int xp = 1500;

void Say(){
	var name = '121'
	print("my name is $name");
	}
}

void main() {
	var player = Player();
	print(player.name);
	player.name = 'lalala'
	print(play.name);
}

class 를 사용할땐 타입을 꼭 명시해 줘야한다.

그냥 name이라고 써도 this.name이라고 쓰는 것과 같다. 일부러 함수 내에 할당된 이름을 쓰고 싶다면 ${this.name}을 작성 해야한다.

2. 생성자 (Constructors)

class Player {
	String name = 'lee'
	// final String name = 'lee'
	// final을 붙이면 값을 변경할 수가 없다. 
	int xp;

Player(this.name, this.xp);

void Say(){
	var name = '121'
	print("my name is $name");
	}
}

void main() {
	var player = Player("nico", 1500);
	player();
	var player2 = player("lynn", 2500);
	player2();
}

3. Named 생성자 파라메터

class Player {
	final String name 
	int xp;
	String team;
	int age;
	
Player({this.name, this.xp, this.team, this.age});
// nullable을 방지하기위해 앞에 required를 붙여주면 좋다.(필수값)

void Say(){
	var name = '121'
	print("my name is $name");
	}
}

void main() {
	var player = Player(
	name : "nico", xp : 1500,team : 'red', age : 12
	);
	
	var player2 = player(
	name : "lynn", xp : 2500, team : 'blue',age: 12
	);
}

4. Named 생성자

class Player {
	final String name;
	int xp, age;
	String team;
	
Player({this.name, this.xp, this.team, this.age});
// nullable을 방지하기위해 앞에 required를 붙여주면 좋다.(필수값)

void Say(){
	var name = '121'
	print("my name is $name");
	}
}

Player.createBluePlayer({required String name, required int age}) : 
this.age = age,
this.name = name,
this.team = 'blue', 
this.xp = 0;

// ':'은 class를 초기화 시키는 것이다. 

Player.createRedPlayer(String name, int age) : 
this.age = age, 
this.name = name,
this.team = 'red',
this.xp = 0;

void main() {
	var player = Player.createBluePlayer(
	name : "nico",  age : 12
	);
	
	var player2 = player.createRedPlayer(
	name : "lynn", age: 12
	);
}
profile
내가 느낌만알고 한줄도 설명할줄 모른다면 '모르는 것'이다.

0개의 댓글