1. 산술 연산자 (Arithmetic Operators)
Dart에서 산술 연산자는 숫자 값을 계산할 때 사용합니다. 기본적인 덧셈, 뺄셈, 곱셈, 나눗셈 외에도 Dart만의 독특한 나머지 연산자와 정수 나눗셈 연산자가 있습니다.
연산자 | 기능 | 예시 | 결과 |
+ | 더하기 | 3 + 2 | 5 |
- | 빼기 | 3 - 2 | 1 |
* | 곱하기 | 3 * 2 | 6 |
/ | 나누기 (결과는 double) | 3 / 2 | 1.5 |
% | 나머지 | 3 % 2 | 1 |
~/ | 정수 나누기(몫만 반환) | 5 ~/ 2 | 2 |
// 산술 연산자
void main() {
// 더하기
print('3 + 2 = ${3 + 2}');
print('3 - 2 = ${3 - 2}');
print('3 * 2 = ${3 * 2}');
print('3 / 2 = ${3 / 2}');
// 나머지 연산자
print('3 % 2 = ${3 % 2}');
print('5 ~/ 2 = ${5 ~/ 2}');
}
2. 비교 연산자 (Comparison Operators)
비교 연산자는 두 개의 값을 비교하여 **참(true) 또는 거짓(false)**의 결과를 반환합니다. 이 연산자는 보통 조건문과 함께 사용됩니다.
연산자 | 기능 | 예시 | 결과 |
== | 두 값이 같다 | 2 == 3 | false |
!= | 두 값이 다르다 | 2 != 3 | true |
< | 왼쪽 값이 오른쪽 값보다 작다 | 2 < 3 | true |
> | 왼쪽 값이 오른쪽 값보다 크다 | 2 > 3 | false |
<= | 왼쪽 값이 오른쪽 값보다 작거나 같다 | 2 <= 3 | true |
>= | 왼쪽 값이 오른쪽 값보다 크거나 같다 | 2 >= 3 | false |
// 비교연산자
// 두 개의 값을 비교하여 결과를 참/거짓으로 판별할 때 사용
void main() {
// 같다
print('2 == 3 -> ${2 == 3}'); // false
// 다르다
print('2 != 3 -> ${2 != 3}'); // true
// 왼쪽 값이 오른쪽 값보다 작다
print('2 < 3 -> ${2 < 3}'); // true
// 왼쪽 값이 오른쪽 값보다 크다
print('2 > 3 -> ${2 > 3}'); // false
// 왼쪽 값이 오른쪽 값보다 작거나 같다
print('2 <= 3 -> ${2 <= 3}'); // true
// 왼쪽 값이 오른쪽 값보다 크거나 같다
print('2 >= 3 -> ${2 >= 3}'); // false
}
3. 논리 연산자 (Logical Operators)
논리 연산자는 두 개 이상의 조건을 결합하거나, 조건의 반대를 표현할 때 사용됩니다. 결과는 항상 참(true) 또는 거짓(false)입니다.
연산자 | 기능 | 예시 | 결과 |
&& | AND (모두 참이어야 참) | true && false | false |
|| | OR (하나만 참이어도 참) | true || false | true |
! | NOT (조건의 반대) | !true | false |
// 논리 연산자
void main() {
bool isRainy = true;
bool hasUmbrella = false;
// and
// T && T --> true
print(isRainy && hasUmbrella);
print(hasUmbrella && isRainy);
// or
print(isRainy || hasUmbrella);
print(hasUmbrella || isRainy);
// not
print(!isRainy);
}
💡 단락 평가(Short-Circuit Evaluation)
논리 연산을 할 때 앞 연산자의 결과에 따라 뒤 연산자의 실행여부가 결정되는 계산 방식입니다.
&& 연산자의 경우, 앞 연산자의 결과가 false라면 뒤 연산자는 실행하지 않거나,
|| 연산자의 경우, 앞 연산자의 결과가 true라면 뒤 연산자는 실행하지 않는 것.
아래의 문헌을 참고하여 작성된 포스팅입니다.
최주호, 김근호, 이지원(공저) 『 만들면서 배우는 플러터 앱 프로그래밍』, 앤써북, 2023.
'Flutter > Dart' 카테고리의 다른 글
[DART] 상속(Inheritance)이란 무엇인가요? (0) | 2025.01.06 |
---|---|
[DART] Sound Null Safety in dart (0) | 2025.01.06 |
[DART] 클래스와 인스턴스 (2) | 2025.01.03 |
[DART] 익명함수와 화살표함수 (1) | 2025.01.03 |
[DART] Dart 기본 문법 익히기 (0) | 2025.01.03 |