728x90

Dart의 연산자 (Operators)
Dart는 다양한 연산자를 제공하여 수학 연산, 비교, 논리 연산, 비트 연산, 조건 연산 등을 수행할 수 있습니다.
각 연산자의 종류와 사용 방법을 자세히 정리해 보겠습니다.
1. 산술 연산자 (Arithmetic Operators)
산술 연산자는 숫자 값을 계산하는 데 사용됩니다.
연산자 | 설명 | 예제 |
+ | 덧셈 | a + b |
- | 뺄셈 | a - b |
* | 곱셈 | a * b |
/ | 나눗셈 (결과: double) | 10 / 3 → 3.3333 |
~/ | 몫 (정수 나눗셈) | 10 ~/ 3 → 3 |
% | 나머지 | 10 % 3 → 1 |
void main() {
int a = 10, b = 3;
print(a + b); // 13
print(a - b); // 7
print(a * b); // 30
print(a / b); // 3.3333
print(a ~/ b); // 3
print(a % b); // 1
}
~/ 연산자는 정수 몫을 반환하며, / 연산자는 소수점까지 계산합니다.
2. 비교 연산자 (Comparison Operators)
비교 연산자는 두 값을 비교하여 true 또는 false를 반환합니다.
연산자 | 설명 | 예제 |
== | 같음 | a == b |
!= | 다름 | a != b |
> | 크다 | a > b |
< | 작다 | a < b |
>= | 크거나 같다 | a >= b |
<= | 작거나 같다 | a <= b |
void main() {
int x = 10, y = 20;
print(x == y); // false
print(x != y); // true
print(x > y); // false
print(x < y); // true
print(x >= y); // false
print(x <= y); // true
}
비교 연산자는 bool 값을 반환하므로, 조건문에서 자주 사용됩니다.
3. 논리 연산자 (Logical Operators)
논리 연산자는 true 또는 false 값을 조합하여 논리적인 조건을 평가할 때 사용됩니다.
연산자 | 설명 | 예제 |
&& | AND (모두 true일 때 true) | (a > 5) && (b < 10) |
` | ` | |
! | NOT (논리 반전) | !(a > 5) |
void main() {
bool isFlutter = true;
bool isDart = false;
print(isFlutter && isDart); // false
print(isFlutter || isDart); // true
print(!isFlutter); // false
}
&& 연산자는 둘 다 true여야 true를 반환하며, || 연산자는 하나라도 true면 true를 반환합니다.
4. 할당 연산자 (Assignment Operators)
할당 연산자는 변수에 값을 저장하거나, 다른 연산과 결합하여 값을 변경할 때 사용됩니다.
연산자 | 설명 | 예제 |
= | 값 할당 | a = 10 |
+= | 더한 후 할당 | a += 5 → a = a + 5 |
-= | 뺀 후 할당 | a -= 5 → a = a - 5 |
*= | 곱한 후 할당 | a *= 5 → a = a * 5 |
/= | 나눈 후 할당 | a /= 5 → a = a / 5 |
~/= | 몫을 구한 후 할당 | a ~/= 5 → a = a ~/ 5 |
void main() {
int a = 10;
a += 5; // a = 10 + 5
print(a); // 15
a -= 3;
print(a); // 12
a *= 2;
print(a); // 24
a ~/= 4;
print(a); // 6
a *= a;
print(a); // 36
}
+=, -=, *=, /= 등은 값을 빠르게 갱신하는 데 유용합니다.
5. 조건 연산자 (Conditional Operators)
조건 연산자는 특정 조건에 따라 값을 반환할 때 사용됩니다.
연산자 | 설명 | 예제 |
? : | 삼항 연산자 (조건 ? 참 : 거짓) | a > b ? "크다" : "작다" |
?? | null 병합 연산자 | x ?? y (x가 null이면 y 사용) |
- 삼항 연산자 예제
void main() {
int a = 10, b = 5;
String result = (a > b) ? "a가 크다" : "b가 크다";
print(result); // a가 크다
}
- null 병합 연산자 예제
void main() {
String? name;
String displayName = name ?? "Unknown";
print(displayName); // Unknown
}
?? 연산자는 변수가 null일 때 기본값을 설정하는 데 유용합니다.
6. 타입 검사 연산자 (Type Test Operators)
Dart에서는 변수가 특정 타입인지 확인하거나, 타입을 변환하는 연산자를 제공합니다.
연산자 | 설명 | 예제 |
is | 특정 타입인지 확인 | x is int |
is! | 특정 타입이 아닌지 확인 | x is! String |
as | 타입 캐스팅 (형 변환) | y as String |
void main() {
dynamic value = 10;
print(value is int); // true
print(value is! String); // true
var text = "Hello" as String;
print(text);
}
is는 타입 검사를 할 때, as는 타입 변환을 할 때 사용합니다.
7. 비트 연산자 (Bitwise Operators)
비트 연산자는 정수를 이진수로 변환하여 비트 단위로 연산을 수행할 때 사용됩니다.
연산자 | 설명 | 예제 |
& | AND 연산 | a & b |
` | ` | OR 연산 |
^ | XOR 연산 | a ^ b |
~ | 비트 반전 (NOT) | ~a |
<< | 왼쪽 시프트 | a << 2 |
>> | 오른쪽 시프트 | a >> 2 |
void main() {
int a = 5; // 0101
int b = 3; // 0011
print(a & b); // 0001 → 1
print(a | b); // 0111 → 7
print(a ^ b); // 0110 → 6
print(~a); // 비트 반전
}
비트 연산자는 비트 단위 연산이 필요할 때 사용됩니다.
728x90
'Flutter for Beginners' 카테고리의 다른 글
Dart의 함수(Function)와 람다(Lambda) (0) | 2025.02.21 |
---|---|
Dart의 제어문 (0) | 2025.02.20 |
Dart의 enum (0) | 2025.02.19 |
Dart의 컬렉션(Collection) (0) | 2025.02.19 |
Dart의 dynamic 변수 타입 (0) | 2025.02.18 |