728x90 Dart13 [Dart] 언어 기본기 - 제네릭편 제네릭(Generic) 제네릭 프로그래밍은 데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있는 기술에 중점을 두어 재사용성을 높일 수 있는 프로그래밍 방식이다. 제네릭은 클래스나 메소드에서 사용할 내부 타입을 컴파일 타임 때 미리 지정된다. 컴파일 타임 때 타입 검사(Type Check)를 수행하여 클래스나 메소드 내부에서 사용되는 객체 타입 안정성을 높일 수 있다. void main() { Book book1 = Book('1', '왕좌의게임'); book1.printIdType(); // String Book book2 = Book(1, '왕좌의게임'); book2.printIdType(); // int } class Book { final T id; final Str.. 2022. 12. 15. [Dart] 언어 기본기 - 인터페이스편 ※ 시작 전 참고사항 : 다트패드로테스트 진행 인터페이스(Interfece) 클래스가 구현해야 하는 동작을 지정하는 용도로 사용되는 추상적인 자료형이다. 다른 언어에서는 Interface를 사용하려면 Interface 키워드를 사용하는데 Dart 언어에서는 Interface도 class 키워드를 사용한다. void main() { FantasyBook fantasy = FantasyBook('왕좌의게임'); fantasy.sayName(); // 책 이름은 왕좌의게임 입니다. RomanceBook romance = RomanceBook('루시아'); romance.sayName(); // 책 이름은 루시아 입니다. print(fantasy is BookInterfece); // true print(fan.. 2022. 12. 14. [Dart] 언어 기본기 - Static편 ※ 시작 전 참고사항 : 다트패드로테스트 진행 Static static 키워드는 변수나 메소드에 사용되며 static 키워드를 사용하면 클래스가 메모리에 로딩될 때 자동으로 생성이 된다. 즉, static은 instance에 귀속되지 않고 class에 귀속된다. 그래서 객체를 생성하지 않아도 사용이 가능하며 속도가 빠르다. void main() { Employee dudu = Employee('두두'); Employee bobo = Employee('보보'); dudu.printInfo(); // 이름은 두두입니다. null 건물에서 근무하고 있습니다. bobo.printInfo(); // 이름은 보보입니다. null 건물에서 근무하고 있습니다. Employee.building = '트레지움'; dudu.. 2022. 12. 13. [Dart] 언어 기본기 - 오버라이드편 오버라이드 (Override) 부모 클래스에 있는 메소드를 자식 클래스에서 재정의 하는 것이다. 자식 클래스가 부모 클래스를 상속하여 자식 클래스에 없는 메소드를 호출하면 부모 클래스의 메소드를 찾게 된다. 반대로 부모 클래스의 메소드를 자식 클래스가 재정의 되어 있으면 부모 클래스의 메소드를 찾지 않고 자식 클래스를 호출하게 된다. 이런 행위를 오버라이드 또는 재정의라고 한다. void main() { Book book = Book('헤리포터', 25000); print(book.bookInfo()); // 책 이름은 헤리포터, 책 가격은 25000원 BookShop bookShop = BookShop('헤리포터', 25000, '교보문고'); print(bookShop.bookInfo()); // 책.. 2022. 12. 12. 이전 1 2 3 4 다음 300x250