Flutter

[Dart] 연산자 (Operators)

Meezzi 2025. 3. 10. 23:10
728x90

1. 연산자 (Operators)

연산자란 변수나 값에 대해 연산을 수행하는 기호 또는 키워드입니다.

 

이를 활용하여 수학 연산, 비교, 논리 연산, 할당 등을 수행할 수 있습니다.

 

 

2. 산술 연산자

산술 연산자숫자를 계산하는 데 사용합니다.

 

연산자 설명 예제
+ 덧셈 a + b
- 뺄셈 a - b
* 곱셈 a * b
/ 나눗셈 (결과: double) a / b
~/ 나눗셈 (결과: 정수) a ~/ b
% 나머지 연산 a % b

 

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 (나머지)

 

 

3. 증감 연산자

증감 연산자변수의 값을 증가 또는 감소합니다.

 

연산자 설명 예제
++ 덧셈 a++ / ++a
-- 뺄셈 a -- / --a

 

1) 전위 / 후위 차이

int a = 3;
print(++a); 	// ➝ 4 (먼저 증가 후 출력)
  
int b = 3;
print(b++); 	// ➝ 3 (출력 후 증가)
print(b);   	// ➝ 4

 

전위 연산자(++변수)먼저 증가시키고, 증가된 값을 반환하는 반면,

후위 연산자(변수++)먼저 기존 값을 반환한 후, 나중에 값을 증가합니다.

 

++a가 실행되면 a의 값이 먼저 증가합니다.

증가된 a의 값 4를 반환하고 print()에서 출력합니다.

 

print(b++)가 실행될 때, b의 현재 값 3을 먼저 반환하여 출력합니다.

그 후, b의 값이 1 증가(3->4) 합니다.

다음 줄에서 print(b)가 실행되면 증가된 값 4가 출력됩니다.

 

 

4. 비교 연산자

2개의 값을 비교하여 true 또는 false를 반환합니다.

 

연산자 설명 예제
== 두 값이 같으면 true, 다르면 false 반환 a + b
!= 두 값이 다르면 true, 같으면 false 반환 a - b
> 왼쪽에 있는 값이 오른쪽에 있는 값보다 크면 true, 작거나 같으면 false 반환 a * b
< 왼쪽에 있는 값이 오른쪽에 있는 값보다 작으면 true, 크거나 같으면 false 반환 a / b
>= 왼쪽에 있는 값이 오른쪽에 있는 값보다 크거나 같으면 true, 작으면 false 반환 a ~/ b
<= 왼쪽에 있는 값이 오른쪽에 있는 값보다 작거나 같으면 true, 크면 false 반환 a % b

 

print(5 == 5); 			//  true
print(5 != 3);  		//  true
print(10 > 5);  		//  true
print(5 < 10);  		//  true
print(5 >= 5); 			//  true
print(4 <= 6);  		//  true

 

 

 

5. 타입 체크 연산자

변수의 타입을 확인하거나 변환할 때 사용합니다.

 

연산자 설명 예제
is 변수가 특정 타입인지 확인 (참이면 true) a is int
is! 변수가 특정 타입이 아닌지 확인 (참이면 true) a is! String
as 변수를 특정 타입으로 캐스팅(변환) a as String

 

여기서 캐스팅(형변환)은 하나의 특정 타입으로 지정되어 있는 값을 다른 타입으로 바꾸는 것입니다.

 

하지만 확실하게 형변환이 가능할 때만 사용해야 합니다.

예를 들어 문자열을 숫자형으로 형변환 하지는 못합니다.

 

int a = 2;
String s1 = 'hello';
  
print(a is String);    	// false (a는 int타입)
print(s1 is String); 		// true (s1은 String 타입)

print(a is! String);  		// true (a는 int타입)
print(s1 is! String);     	// false (s1은 String 타입)

print(a as double);			//	2
print(s1 as double);		// Type Error 발생

 

 

 

6. 할당 연산자

변수에 값을 저장하거나 업데이트할 때 사용합니다.

 

연산자 설명 예제
= 값 할당 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)
%- 나눈 나머지 할당 a %= 5 (a = a% 5)

 

 

int num = 10;

num += 5;  		// num = num + 5
print(num); 	// 15

num -= 3;  		// num = num - 3
print(num); 	// 12

num *= 2;  		// num = num * 2
print(num); 	// 24

num ~/= 4; 		// num = num ~/ 4
print(num); 	// 6

 

 

 

7. 논리 연산자 (Logical Operators)

참 또는 거짓으로 판별할 수 있는 표현식을 반전하거나 결합할 때 사용합니다.

 

 

연산자 설명 예제
&& 논리 AND (둘 다 참일 때 true) a && b
|| 논리 OR (둘 중 하나만 참일 때 true) a || b
! 논리 NOT (부정) !a

 

 

bool a = true;
bool b = false;

print(a && b); 			// false
print(a || b); 			// true
print(!a); 				// false

 

 

8. 참고자료

https://dart.dev/language/operators

 

Operators

Learn about the operators Dart supports.

dart.dev

 

728x90