반응형
다트의 연산자와 표현식을 알아보자
- 플러터를 시작하기 전 다트(Dart) 언어의 개념에 대해 정리를 해보고자 합니다.
- 다트(Dart) 언어 개념 정리 포스팅 후 플러터(Flutter) 개념 정리로 넘어갈 예정입니다.
- 플러터(Flutter) 개념 정리 후 실습이 시작 된다고 보시면 될 것 같습니다.
소개
- 다트(Dart)는 구글이 개발한 프로그래밍 언어로, 특히 Flutter 프레임워크와 함께 사용되어 모바일 및 웹 애플리케이션 개발에 널리 활용되고 있습니다.
- 이번 포스팅에서는 다트 언어의 핵심 요소인 연산자와 표현식에 대해 자세히 알아보겠습니다.
1. 산술 연산자
다트에서는 기본적인 수학 연산을 수행하기 위한 다양한 산술 연산자를 제공합니다.
+
: 덧셈-
: 뺄셈*
: 곱셈/
: 나눗셈 (결과는 double 타입)~/
: 정수 나눗셈 (결과는 int 타입)%
: 나머지
예시:
int a = 10;
int b = 3;
print(a + b); // 출력: 13
print(a - b); // 출력: 7
print(a * b); // 출력: 30
print(a / b); // 출력: 3.3333333333333335
print(a ~/ b); // 출력: 3
print(a % b); // 출력: 1
2. 증감 연산자
다트는 변수의 값을 1씩 증가시키거나 감소시키는 증감 연산자를 제공합니다.
++
: 증가--
: 감소
이 연산자들은 전위(prefix) 또는 후위(postfix) 형태로 사용할 수 있습니다.
- 예시:
int x = 5;
print(x++); // 출력: 5 (x는 6이 됨)
print(++x); // 출력: 7
print(x--); // 출력: 7 (x는 6이 됨)
print(--x); // 출력: 5
3. 할당 연산자
다트에서는 변수에 값을 할당하기 위한 다양한 할당 연산자를 제공합니다.
=
: 기본 할당+=
,-=
,*=
,/=
,%=
: 복합 할당- 예시:
int a = 10;
a += 5; // a = a + 5와 동일
print(a); // 출력: 15
a *= 2; // a = a * 2와 동일
print(a); // 출력: 30
4. 비교 연산자
다트는 두 값을 비교하기 위한 비교 연산자를 제공합니다.
==
: 같음!=
: 다름>
: 크다<
: 작다>=
: 크거나 같다<=
: 작거나 같다- 예시:
int a = 5;
int b = 7;
print(a == b); // 출력: false
print(a != b); // 출력: true
print(a > b); // 출력: false
print(a < b); // 출력: true
print(a >= 5); // 출력: true
print(b <= 7); // 출력: true
5. 논리 연산자
다트는 불리언 값을 조작하기 위한 논리 연산자를 제공합니다.
&&
: AND (그리고)||
: OR (또는)!
: NOT (부정)- 예시:
bool x = true;
bool y = false;
print(x && y); // 출력: false
print(x || y); // 출력: true
print(!x); // 출력: false
6. 비트 연산자
다트는 비트 수준의 연산을 수행하기 위한 비트 연산자를 제공합니다.
&
: 비트 AND|
: 비트 OR^
: 비트 XOR~
: 비트 NOT<<
: 왼쪽 시프트>>
: 오른쪽 시프트- 예시:
int a = 5; // 이진수: 0101
int b = 3; // 이진수: 0011
print(a & b); // 출력: 1 (0001)
print(a | b); // 출력: 7 (0111)
print(a ^ b); // 출력: 6 (0110)
print(~a); // 출력: -6
print(a << 1);// 출력: 10 (1010)
print(a >> 1);// 출력: 2 (0010)
7. 조건 표현식
다트는 간단한 조건문을 표현하기 위한 두 가지 특별한 연산자를 제공합니다.
7.1 조건 연산자 (삼항 연산자)
조건 ? 표현식1 : 표현식2
조건이 참이면 표현식1을, 거짓이면 표현식2를 반환합니다.
- 예시
int a = 10;
int b = 5;
int max = a > b ? a : b;
print(max); // 출력: 10
7.2 null 조건 연산자
??
왼쪽 피연산자가 null이 아니면 그 값을, null이면 오른쪽 피연산자를 반환합니다.
- 예시:
String? name;
String displayName = name ?? 'Guest';
print(displayName); // 출력: Guest
name = 'John';
displayName = name ?? 'Guest';
print(displayName); // 출력: John
8. 타입 테스트 연산자
다트는 객체의 타입을 확인하기 위한 연산자를 제공합니다.
is
: 객체가 특정 타입인 경우 true 반환is!
: 객체가 특정 타입이 아닌 경우 true 반환- 예시:
var x = 5;
print(x is int); // 출력: true
print(x is! String);// 출력: true
9. 캐스케이드 표기법
다트는 동일한 객체에 대해 연속적인 작업을 수행할 수 있는 캐스케이드 표기법(..
)을 제공합니다.
- 예시:
class Person {
String name = '';
int age = 0;
void introduce() {
print('My name is $name and I am $age years old.');
}
}
void main() {
Person()
..name = 'John'
..age = 30
..introduce();
// 출력: My name is John and I am 30 years old.
}
10. 연산자 우선순위
다트에서 연산자의 우선순위는 일반적인 수학적 규칙을 따릅니다. 괄호를 사용하여 연산 순서를 명시적으로 지정할 수 있습니다.
- 예시:
int result = 2 + 3 * 4;
print(result); // 출력: 14
result = (2 + 3) * 4;
print(result); // 출력: 20
결론
- 다트 언어의 연산자와 표현식은 프로그래밍의 핵심 요소입니다. 이들을 효과적으로 사용하면 코드를 더 간결하고 읽기 쉽게 만들 수 있습니다. 또한, 다트의 고유한 기능인 null 안전성과 캐스케이드 표기법은 코드의 안정성과 가독성을 크게 향상시킵니다.
- 다트 언어를 배우고 사용하면서 이러한 연산자와 표현식을 실제 프로젝트에 적용해 보세요. 실제 사용 경험을 통해 더 깊이 있는 이해와 숙달을 얻을 수 있습니다. 다트와 Flutter를 이용한 개발은 모바일 및 웹 애플리케이션 시장에서 점점 더 중요해지고 있으므로, 이러한 기본적인 개념을 잘 이해하는 것이 향후 커리어 발전에도 큰 도움이 될 것입니다.
맺음말
- 이번 포스팅에서는 다트의 연산자와 표현식에 대해 알아보았습니다.
- 다음 포스팅에서는 다트의 제어문에 대해 알아보고자 합니다.
반응형
'다트(Dart) 언어 강좌' 카테고리의 다른 글
익명 함수와 람다 표현식을 알아보자 (0) | 2024.07.24 |
---|---|
함수 정의와 호출에 대해 알아보자 (0) | 2024.07.24 |
다트의 제어문을 마스터 해보자 (0) | 2024.07.23 |
다트의 변수와 데이터 타입 완벽 가이드를 알아보자 (0) | 2024.07.23 |
다트 소개 및 개발 환경 설정 가이드를 알아보자 (0) | 2024.07.20 |