

Dart 메서드의 매개변수 타입으로 클래스 사용하기Dart/OOP2024. 8. 31. 19:12
Table of Contents
Dart에서는 메서드의 매개변수 타입으로 클래스를 사용할 수 있다.
이를 통해 메서드가 특정 클래스의 인스턴스를 매개변수로 받도록 지정할 수 있다.
이 글에서는 일반 클래스와 열거형 클래스를 메서드의 매개변수 타입으로 사용하는 방법과 이점에 대해 알아보겠다.
일반 클래스를 매개변수 타입으로 사용하기
다음은 Idol 클래스와 introduce 메서드를 사용한 예제이다:
실행 결과:
안녕하세요, 제 이름은 제니이고 28살입니다.
위 예제의 주요점:
- 위 예제에서 Idol 클래스는 name과 age 속성을 가지고 있다.
- introduce 메서드는 Idol 클래스를 매개변수 타입으로 받아 해당 인스턴스의 name과 age 속성을 사용하여 소개 문장을 출력한다.
- main 함수에서는 Idol 클래스의 인스턴스 '제니'을 생성하고, 이를 introduce 메서드의 인수로 전달한다. 이때 introduce 메서드는 Idol 클래스의 인스턴스만 받을 수 있기 때문에 타입 안정성이 보장된다.
열거형 클래스를 매개변수 타입으로 사용하기
열거형(enum) 클래스를 메서드의 매개변수 타입으로 사용하면 미리 정의된 상수 값 중 하나를 전달하도록 강제할 수 있다.
다음은 Idol 클래스와 Year 열거형 클래스를 사용한 예제이다:
실행 결과:
안녕하세요, 블랙핑크입니다.
블랙핑크는 Year.y2016년에 데뷔했습니다.
블랙핑크는 Year.y2020년에 데뷔했습니다.
위 예제의 주요점:
- 위 예제에서 Year 열거형 클래스는 y2016, y2018, y2020의 세 가지 상수 값을 가지고 있다.
- Idol 클래스는 name, debutYear의 두 가지 속성을 가지고 있다. 이 중 debutYear 속성은 Year 열거형 클래스 타입이다.
- Idol 클래스의 생성자에서는 name, membersCount, debutYear를 매개변수로 받아 인스턴스를 초기화한다.
- introduce 메서드는 아이돌 그룹의 이름을 출력한다.
- introduceWithYear 메서드는 Year 열거형 클래스를 매개변수로 받아 해당 연도에 데뷔했다는 메시지를 출력한다.
- introduceWithYear 메서드에 열거형 클래스에 맞는 매개변수를 넣지 않으면 오류가 난다.
- main 함수에서는 Idol 클래스의 인스턴스 blackPink를 생성하고, introduce와 introduceWithYear 메서드를 호출하여 결과를 출력한다.
클래스를 매개변수 타입으로 사용하는 이점
클래스를 메서드의 매개변수 타입으로 사용하면 다음과 같은 이점이 있다:
- 타입 안정성 확보
- 메서드의 매개변수 타입을 클래스로 지정하면 해당 클래스의 인스턴스만 전달할 수 있다.
- 이를 통해 잘못된 타입의 인수가 전달되는 것을 방지할 수 있다.
- 코드 가독성 향상
- 매개변수의 타입을 명시하면 메서드가 어떤 타입의 인수를 기대하는지 명확히 알 수 있다.
- 이는 코드의 가독성을 높이고 유지보수를 용이하게 한다.
- IDE 지원 활용
- 클래스를 매개변수 타입으로 사용하면 IDE의 자동 완성 및 타입 검사 기능을 활용할 수 있다.
- 이는 개발 과정에서 실수를 줄이고 생산성을 향상시킨다.
'Dart > OOP' 카테고리의 다른 글
정적 메서드와 정적 속성 접근 (0) | 2024.09.07 |
---|---|
Dart 문법 OOP - enum (0) | 2024.08.21 |
Dart 문법 OOP - 메서드 호출, 캐스케이드 연산자 (0) | 2024.08.21 |
Dart 문법 OOP - static (0) | 2024.08.21 |
Dart 문법 OOP - 제네릭 (0) | 2024.08.21 |

@codeJunH :: codeJunH의 IT 공부 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!