반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 도서
- python
- 개발자도서
- 리눅스
- 개발자
- 명령어
- 유데미
- flutter
- linux
- command
- 책
- 가상환경
- 수학 애니메이션
- docker
- 플러터
- 다트
- 위젯
- Code Generation
- dart
- 디자인패턴
- 한빛미디어
- 개발
- vscode
- manim
- 유데미 러닝크루
- 코딩
- column
- 도커
- 프로그래밍
- 파이썬
Archives
- Today
- Total
승상의 코딩 블로그
[Flutter] extension 으로 코드를 더 깔끔하고 효율적으로 만들기 본문
반응형
extension 을 활용하면 기존 클래스나 타입에 새로운 기능을 추가할 수 있다.
기존의 클래스를 수정하지 않아도 된다.
int.parse("3") 은 flutter(dart) 에서 문자열을 정수에서 변경하는 방법이다.
하지만 문자열에서 숫자로 더 간결하게 변경할 순 없을까?
예를 들어, "3".toInt() 와 같이 말이다.
하지만 "3" 은 String 타입이고, String 클래스에는 정수로 변경하는 함수가 없다.
이렇게, 기존 클래스에다가 기능이 추가되었으면 할 때 extension 을 활용하면 좋다.
사용예시
extension 의 이름(위에서 StringExtension)은 생략해도 된다.
그러나 extension 에 이름이 있어야 라이브러리나 API 를 사용시 생기는 충돌을 해결할 수 있다.
(다른 extention 의 동일한 이름의 method 가 있을 수 있음)
충돌해결하기
다른 Extension 간에 동일한 method가 있어서 충돌이 발생할 수 있다.
이 경우에는 인스턴스에 Extension 명시적으로 wrap해주면 warp한 Extension 의 메소드가 사용된다.
+ Extension 을 import 하는데 Extension 이름이 같다면, import ~ as x 와 같이 별칭을 만든 뒤 위와 같이 활용하면 된다.
반응형
'Flutter (플러터)' 카테고리의 다른 글
[Flutter] 화면 아래로 당겨서 새로고침(Refresh) 하기 (0) | 2025.01.04 |
---|---|
[Flutter] 슬라이드 가능한 위젯 (flutter_slidable) (0) | 2025.01.02 |
[Flutter] 불변 객체를 왜 사용할까? (0) | 2024.12.19 |
[Flutter] clone, copyWith 를 활용한 깊은 복사 (0) | 2024.12.19 |
[Flutter] 페이지 이동(Navigate with named routes) (0) | 2024.07.28 |
Comments