DART클래스를에 대한 생성과 호출 변수와 메소드의 초기화를 비롯한 여러가지 다양한 특성들을 살펴 봅니다.
클래스 생성과 선언 호출
class User{
String name = '알폰스';
int age = 25;
void setHello(){
print('Hello $name, age: $age');
}
}
main(List<String> args){
User user = new User();//객체의 생성
print(user.name);//멤버변수 접근
print(user.age);//멤버변수 접근
user.setHello();//멤버메소드 접근
}
출력)
알폰스
25
Hello 알폰스, age: 25
----------------------------------------
main(List<String> args){
User user = new User();//객체의 생성
print(user.name);//멤버변수 접근
print(user.age);//멤버변수 접근
user.setHello();//멤버메소드 접근
User user2 = User()..age = 21..name="애드워드";
user2.setHello();
}
출력)
알폰스
class User{
String name = '알폰스';
int age = 25;
void setHello(){
print('Hello $name, age: $age');
}
}
main(List<String> args){
User user = new User();//객체의 생성
print(user.name);//멤버변수 접근
print(user.age);//멤버변수 접근
user.setHello();//멤버메소드 접근
}
출력)
알폰스
25
Hello 알폰스, age: 25
----------------------------------------
main(List<String> args){
User user = new User();//객체의 생성
print(user.name);//멤버변수 접근
print(user.age);//멤버변수 접근
user.setHello();//멤버메소드 접근
User user2 = User()..age = 21..name="애드워드";
user2.setHello();
}
출력)
알폰스
25
Hello 알폰스, age: 25
Hello 애드워드, age: 21
클래스 멤버 선언
class User{
String msg = "안녕하세요";
static String msg2 = "반갑습니다.";
fun1(){
print("fun1...호출");
}
fun2(){
print("fun2...호출");
}
}
main(){
User.msg2 = "반갑습니다.2";//static로 선언한 변수는 클래스명으로 바로 접근할수 있습니다.
print(User.msg2);
User user = new User();
user.msg = "안녕하세요2";//멤버변수는 클래스의 인스턴스를 생성하고 그 이름으로 접근할수 있습니다.
}
생성자와 멤버 초기화
----------------------------------------------
// 클래스 선언
class User{
}
----------------------------------------------
// 기본 생성자를 추가한 예
class User{
User(){}
}
----------------------------------------------
// 멤버 초기화 생성자
class User{
late String name;
late int age
User(String name, int age){
this.name = name;
this.age = age;
}
sayHello(){
print('name : $name, age : $age');
}
}
----------------------------------------------
// 멤버 초기화 생성자 단순화
class User{
late String name;
late int age;
User(this.name, this.age);
sayHello(){
print('name : $name, age : $ age');
}
}
----------------------------------------------
class User{
String msg = "안녕하세요";
String msg2 = "반갑습니다.";
User(String msg, String msg2) : this.msg = msg, this.msg2 = msg2 {}
}
----------------------------------------------
//리스트의 데이터로 초기화
class Test{
late int data1;
late int data2;
Test(List<int> args)
: this.data1 = args[0],
this.data2 = args[2]{}
}
----------------------------------------------
class Test{
late String data1;
late String data2;
Test(String arg1, String arg2)
: this.data1 = rpStr(arg1),
this.data2 = rpStr(arg2) {}
static String rpStr(String arg){
return '{ $arg }';
}
printData(){
print('$data1, $data2');
}
}
main(){
Test test = new Test("하나", "두울");
test.printData();
}
출력)
{ 하나 }, { 두울 }
----------------------------------------------
By. 유목민 알폰스 - Nomadic Alphonse
'Dart' 카테고리의 다른 글
Dart 18. 상속과 추상 클래스 {유목민 알폰스} (1) | 2023.11.09 |
---|---|
Dart 17. 명명된 생성자와 상수 생성자 {유목민 알폰스} (1) | 2023.11.08 |
Dart 15. 함수와 제어문 {유목민 알폰스} (2) | 2023.11.07 |
Dart 14. 널 안전성 변수선언 {유목민 알폰스} (1) | 2023.11.07 |
Dart 13. 컬렉션 타입 List Set Map {유목민 알폰스} (1) | 2023.11.06 |