** Flutter - class **
void main() { //1. 일반생성자로 객체 생성 Idol blackPink = Idol( '블랙핑크', ['지수','제니','리사','로제'], ); //2. const 생성자인 경우에는 instance생성 시 const로 할 수도 있음 // Idol blackPink = const Idol(..._) //3. named constructor로 객체 생성 Idol bts = Idol.fromList([ ['RM','진','슈가','제이홉','지민','뷔','정국'], 'bts',] ); //4. getter, setter함수 호출 print(bts.firstMember); print(bts.getFirstMember()); bts.firstMember = '아이언맨'; //5. Private class, Private member 변수, Private function // - 상세내용은 아래에 존재 //6. static 변수 // static변수란 instance에 귀속되지 않고 class에 귀속된다. // 사용시 객체명.class변수명 (즉, _Human.tall = '170cm'; 와 같이 값을 할당 한다.) // - 상세내용은 아래에 존재 //7. generic // - 타입을 외부에서 받을 때 사용 // - 아래문장에서 <String>이 표현이 객체에서 Lecture<T> 부분으로 type이 넘겨진다. Lecture<String> lecture1 = Lecture('123', 'lecture'); //8. 모든 class는 Object를 자동상속받는다. Test test = Test(); } class Idol { //1. 일반생성자 //String name; //List<String> members; Idol(this.name, this.members); //2. const 생성자 // const 생성자를 사용할 경우에는 member변수에 final 로 설정해야 됨 final String name; final List<String> members; //const Idol(this.name, this.members); //3. named constructor (fromList는 개발자가 만들 명칭임) Idol.fromList(List values) : this.members = values[0], this.name = values[1]; //4. getter, setter // - setter : 는 반드시 arg가 한개만 가능 String get firstMember{return this.members[0];} String getFirstMember() {return this.members[0];} set firstMember(String name) {this.members[0] = name;} } //5. Private class (class명 앞쪽에 _ 를 붙이면 됨) class _Human { //5.1 private member 변수 String? _age; //5.2 private function void _Hello() { print('aa'); } //6. static 변수 // static변수란 instance에 귀속되지 않고 class에 귀속된다. // 사용시 객체명.class변수명 (즉, _Human.tall = '170cm'; 와 같이 값을 할당 한다.) static String? tall; } //7. generic // - 타입을 외부에서 받을 때 사용 class Lecture<T> { final T id; final String name; Lecture(this.id, this.name); } //8. 모든 class는 Object를 자동상속받는다. // 아래 2개 문장은 동일하다. // Object상속은 자동상속이므로 생략가능하다. class Test { String? name; } class Test2 extends Object { String? name; }