학습
Lua 비교 연산자와 논리 연산자
Lua 비교 연산자와 논리 연산자 — 초급
비교 연산자와 논리 연산자
1. 도입 (왜 배워야 하는가)
비교 연산자와 논리 연산자는 프로그래밍에서 매우 중요한 역할을 합니다. 이 두 가지 연산자는 프로그래머가 조건을 평가하고, 그에 따라 프로그램의 흐름을 제어할 수 있게 해줍니다. 예를 들어, 사용자가 특정 조건을 만족할 때만 기능을 실행하도록 만들거나, 여러 조건을 조합하여 복잡한 로직을 구현할 수 있습니다.
이 토픽을 모르면 논리적 판단을 기반으로 한 코드 작성이 어렵고, 프로그램의 흐름을 제어할 수 없게 됩니다. 결국 코드의 복잡성이 증가하여 유지보수와 디버깅이 힘들어질 수 있습니다.
2. 핵심 개념 설명
비교 연산자는 두 값을 비교하여 결과를 Boolean 값(true 또는 false)으로 반환합니다. 논리 연산자는 여러 Boolean 값을 조합하여 새로운 Boolean 값을 생성합니다.
비교 연산자
| 연산자 | 설명 | 예시 |
|---|---|---|
| 두 값이 같은지 비교 | 5 5 -> true |
~= | 두 값이 다른지 비교 | 5 ~= 3 -> true |
< | 좌측 값이 우측 값보다 작은지 비교 | 3 < 5 -> true |
> | 좌측 값이 우측 값보다 큰지 비교 | 7 > 4 -> true |
<= | 좌측 값이 우측 값보다 작거나 같은지 비교 | 5 <= 5 -> true |
>= | 좌측 값이 우측 값보다 크거나 같은지 비교 | 6 >= 3 -> true |
논리 연산자
| 연산자 | 설명 | 예시 |
|---|---|---|
and | 두 조건이 모두 true일 때 true 반환 | true and false -> false |
or | 하나 이상의 조건이 true일 때 true 반환 | true or false -> true |
not | 조건의 반대값 반환 | not true -> false |
비유하자면, 비교 연산자는 "두 사람의 나이가 같은가?"와 같은 질문을 할 때 사용하고, 논리 연산자는 "어떤 조건이 모두 만족한다면"과 같은 조건을 설정할 때 사용합니다.
3. 기본 코드 예제
아래는 Lua에서 비교 연산자와 논리 연산자를 사용하는 간단한 코드 예제입니다.
local age = 20
local has_ticket = true
if age >= 18 and has_ticket then
print("영화에 입장할 수 있습니다.") -- 18세 이상이고, 티켓이 있는 경우
else
print("영화에 입장할 수 없습니다.") -- 조건이 만족하지 않는 경우
end
실행 결과
영화에 입장할 수 있습니다.
코드 한 줄씩 동작 설명
local age = 20: 변수age에 20을 할당합니다.local has_ticket = true: 변수has_ticket에 true를 할당합니다.if age >= 18 and has_ticket then:age가 18 이상이고has_ticket이 true인지 검사합니다.print("영화에 입장할 수 있습니다."): 조건이 true이므로 이 메시지를 출력합니다.else: 조건이 false인 경우 실행될 블록을 설정합니다.print("영화에 입장할 수 없습니다."): 이 메시지는 실행되지 않습니다.- 올바른 코드:
if age 18 then(대입 연산자=대신 비교 연산자사용) - 올바른 코드:
if (age >= 18) and (has_ticket == true) then(가독성을 높이기 위해 괄호 추가) - 비교 연산자는 두 값을 비교하여 true 또는 false를 반환합니다.
- 논리 연산자는 여러 조건을 조합하여 새로운 Boolean 값을 생성합니다.
- 조건문을 활용하여 프로그램의 흐름을 제어할 수 있습니다.
- 잘못된 연산자를 사용하면 에러가 발생하므로 주의해야 합니다.
- 조건문과 반복문
- 함수 정의와 활용
- 테이블과 자료구조
4. 실전 활용 예제
1. 쇼핑몰에서 장바구니를 구현할 때
local cart = {item1 = 2, item2 = 1} -- 장바구니에 item1이 2개, item2가 1개
local total_items = 0
for _, count in pairs(cart) do
total_items = total_items + count
end
if total_items > 0 then
print("장바구니에 상품이 있습니다.") -- 상품이 있는 경우
else
print("장바구니가 비어 있습니다.") -- 장바구니가 비어 있는 경우
end
2. 사용자 로그인 검증
local username = "user123"
local password = "pass456"
if username "user123" and password "pass456" then
print("로그인 성공!") -- 로그인 정보가 일치하는 경우
else
print("로그인 실패!") -- 로그인 정보가 불일치하는 경우
end
5. 흔한 실수와 주의사항
실수 1: 비교 연산자 사용 실수
if age = 18 then -- 잘못된 코드
print("18세입니다.")
end
실수 2: 논리 연산자 사용 시 괄호 누락
if age >= 18 and has_ticket == true then -- 괄호 없어도 되지만 가독성을 위해 추가하는 것이 좋음
print("영화에 입장할 수 있습니다.")
end
6. 정리
다음에 학습하면 좋은 주제
이 내용을 통해 Lua의 비교 연산자와 논리 연산자에 대한 이해를 높이고, 실무에서 활용할 수 있는 기초를 다지길 바랍니다!