-
class 다루기 #6 super / this 언제 써야 하나?프로그래밍 공부 메모/flutter 2022. 5. 17. 19:29
void main() { Enginner codeFactory = new Enginner( languages: ['dart', 'java', 'javascript'], name: 'jjs', building: '강남'); print(codeFactory.name); print(codeFactory.building); print(codeFactory.languages); codeFactory.sayInfo(); } //직원 class Employee { final String? building; //여기서 final을 선언하는 이유는 해당 클래스에 파라미터를 무조건 받기위해 final String? name; Employee(String? building, String? name) : this.building = building, this.name = name; } //엔지니어 //사용할줄 아는 언어 - 리스트 형식 class Enginner extends Employee { List<String>? languages; //employee 클래스를 상속 받았기 때문에 enginner의 생성자를 만들때도 //부모의 생성자를 같이 처리 해야한다 Enginner({List<String>? languages, String? name, String? building}) : this.languages = languages, super(building, name); void sayInfo() { print( //부모 클래스에서 langugaes 변수 또한 상속 받았기 때문에 employee 클래스에서 직접적으로 명시하지 않아도 있는것 처럼 사용가능하다 '저의 이름은 ${super.name} 입니다 제가 근무하는 건물은 ${super.building} 입니다 제가 사용할 수 있는 언어들은 ${this.languages} 입니다 '); } }
만약 상속받은 변수 또는 함수를 자식 클래스에서 같은 이름으로 사용 한다면 해당 변수나 함수는 this를 사용해야 한다
반응형'프로그래밍 공부 메모 > flutter' 카테고리의 다른 글
class 다루기 #8 Cascade Operator (0) 2022.05.17 class 다루기 #7 interface 인터페이스 (0) 2022.05.17 class 다루기 #5 static 키워드 (0) 2022.05.17 class 다루기 #4 overriding 오버라이딩(덮어쓰기) (0) 2022.05.16 class 다루기 #3 extends 상속 (0) 2022.05.16