연산자란? 연산자 종류 - 단항 연산자, 이항 연산자, 삼항 연산자

2023. 3. 16. 00:50·Unity
반응형
C# 및 다른 프로그래밍 언어에서는 다양한 종류의 연산자를 사용할 수 있습니다. 연산자는 피연산자의 개수에 따라 단항 연산자, 이항 연산자, 삼항 연산자로 구분됩니다.

단항 연산자

단항 연산자는 하나의 피연산자를 가지는 연산자입니다. C#에서 사용하는 대표적인 단항 연산자로는 다음과 같습니다.

  • + : 양수 부호를 지정합니다.
  • -  : 음수 부호를 지정합니다.
  • ++ : 피연산자에 1을 더합니다.
  • -- : 피연산자에서 1을 뺍니다.
  • ! : 논리 부정 연산자입니다. true를 false로, false를 true로 바꿉니다.

단항 연산자는 이항 연산자보다 연산 속도가 빠릅니다.

이항 연산자

이항 연산자는 두 개의 피연산자를 가지는 연산자입니다. C#에서 사용하는 대표적인 이항 연산자로는 다음과 같습니다.

  • + : 더하기 연산을 수행합니다.
  • - : 빼기 연산을 수행합니다.
  • * : 곱하기 연산을 수행합니다.
  • / : 나누기 연산을 수행합니다.
  • % : 나머지 연산을 수행합니다.
  • == : 두 값이 같은 경우 참(true)을 반환합니다.
  • != : 두 값이 다른 경우 참(true)을 반환합니다.
  • < : 왼쪽 값이 오른쪽 값보다 작은 경우 참(true)을 반환합니다.
  • > : 왼쪽 값이 오른쪽 값보다 큰 경우 참(true)을 반환합니다.
  • <= : 왼쪽 값이 오른쪽 값보다 작거나 같은 경우 참(true)을 반환합니다.
  • >= : 왼쪽 값이 오른쪽 값보다 크거나 같은 경우 참(true)을 반환합니다.

이항 연산자는 단항 연산자보다 연산 속도가 느립니다.


논리 연산자

논리 연산자에는 AND(&&), OR(||), NOT(!) 연산자가 있으며, 단항 연산자와 이항 연산자에서 모두 사용됩니다.

단항 연산자

논리 연산자 중 NOT(!) 연산자는 단항 연산자입니다. 이 연산자는 피연산자가 참(True)이면 거짓(False)을, 거짓(False)이면 참(True)을 반환합니다. 예를 들어, 다음은 NOT(!) 연산자를 사용한 코드입니다.

bool isTrue = true;
bool isFalse = !isTrue;

위 코드에서는 isTrue 변수에 true 값을 할당하고, isFalse 변수에는 NOT(!) 연산자를 사용하여 isTrue 변수의 반대 값을 할당하였습니다.

이항 연산자

AND(&&) 연산자와 OR(||) 연산자는 이항 연산자입니다. AND 연산자는 두 개의 피연산자가 모두 참(True)일 때 참(True)을 반환하며, OR 연산자는 두 개의 피연산자 중 하나라도 참(True)이면 참(True)을 반환합니다. 예를 들어, 다음은 AND(&&) 연산자와 OR(||) 연산자를 사용한 코드입니다.

bool isTrue = true;
bool isFalse = false;

bool result1 = isTrue && isFalse;
bool result2 = isTrue || isFalse;

위 코드에서는 isTrue 변수에 true 값을 할당하고, isFalse 변수에는 false 값을 할당하였습니다.

result1 변수에는 AND(&&) 연산자를 사용하여 isTrue와 isFalse 변수의 논리곱을 할당하였으므로, result1 변수에는 false 값이 할당됩니다.

result2 변수에는 OR(||) 연산자를 사용하여 isTrue와 isFalse 변수의 논리합을 할당하였으므로, result2 변수에는 true 값이 할당됩니다.

따라서, 논리 연산자를 사용하여 조건문의 결과를 판별하거나, 반복문의 종료 조건을 판별하는 등 다양한 상황에서 활용할 수 있습니다.

이외에도, 논리 연산자를 활용하여 비트 연산자와 같이 사용할 수도 있습니다. 예를 들어, 다음과 같이 논리 연산자와 비트 연산자를 함께 사용하여 값을 바꿀 수 있습니다.

int value = 0b10101010;
value |= 0b00010000;
value &= ~0b00000001;

위 코드에서는 value 변수에 0b10101010(10진수로 170) 값을 할당하고, value 변수에 0b00010000 값을 OR(|=) 연산자를 사용하여 할당하였습니다. 이는 value 변수의 5번째 비트를 1로 바꾼 것입니다.

또한, value 변수에 0b00000001 값을 NOT(~) 연산자를 사용하여 할당하고, 이 결과값과 value 변수에 AND(&) 연산자를 사용하여 할당하였습니다. 이는 value 변수의 0번째 비트를 0으로 바꾼 것입니다.

 

&연산자와 &&연산자의 차이점 ( | 과 ||도 동일)
& 연산자와 && 연산자는 비교 연산자와 같이 사용될 때, 조건문의 실행 결과가 달라질 수 있습니다. & 연산자는 두 개의 피연산자를 모두 비교하기 때문에, 첫 번째 피연산자가 거짓(false)일 때에도 두 번째 피연산자를 비교합니다. 하지만 && 연산자는 첫 번째 피연산자가 거짓(false)일 때, 두 번째 피연산자를 비교하지 않고 조건문의 실행을 멈춥니다. 이러한 차이점 때문에, && 연산자를 사용하면 코드 실행 속도를 높일 수 있습니다.

삼항 연산자

삼항 연산자는 세 개의 피연산자를 가지는 연산자입니다. 조건식 ? 값1 : 값2의 형태를 가집니다. 조건식이 참(true)이면 값1을, 거짓(false)이면 값2를 반환합니다.

int x = 5;
string result = x > 0 ? "양수" : "음수";

x가 0보다 크므로 result에 양수가 선언됩니다.

삼항 연산자를 중첩 시킬수도 있습니다
int x = 5;
string result = x > 0 ? "양수" : (x < 0 ? "음수" : "0");​

삼항 연산자는 코드를 더 짧고 간결하게 만들 수 있지만 특히 중첩된 경우 코드를 읽고 이해하기 어렵게 만들 수도 있다는 점에 유의하는 것이 중요합니다. 따라서 일반적으로 간단한 if-else 문에만 삼항 연산자를 사용하고 보다 복잡한 논리에는 일반 if-else 문을 사용하는 것이 가장 좋습니다.

저작자표시 비영리 변경금지 (새창열림)

'Unity' 카테고리의 다른 글

Unity에서 게임 오브젝트 회전하는 방법  (0) 2023.03.19
Unity에서 게임 오브젝트 위치 이동 시키기  (0) 2023.03.18
Unity 코루틴 - Coroutine  (0) 2023.03.10
Unity 스크립트 실행 순서 설정  (0) 2023.03.09
Unity 이벤트 함수  (0) 2023.03.08
'Unity' 카테고리의 다른 글
  • Unity에서 게임 오브젝트 회전하는 방법
  • Unity에서 게임 오브젝트 위치 이동 시키기
  • Unity 코루틴 - Coroutine
  • Unity 스크립트 실행 순서 설정
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
  • 전체
    오늘
    어제
    • 분류 전체보기 (514) N
      • 상품 추천 (33) N
      • MongoDB (4)
      • 하드웨어 (2) N
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (127)
        • Basic (40)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (48)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 다비즈
  • 공지사항

  • 인기 글

  • 태그

    리뷰관리
    상품 리뷰 크롤링
    셀레니움
    쇼핑몰리뷰
    믈레코비타멸균우유
    리스트
    list
    programmerlife
    파이썬
    스크립트 실행
    Python
    ipcamera
    codingcommunity
    appdevelopment
    rtsp
    리뷰이관
    카페24리뷰이관
    unity
    라떼우유
    codingtips
    긴유통기한우유
    devlife
    learntocode
    programming101
    카페24리뷰
    스마트스토어리뷰
    cv2
    스크립트 실행 순서
    유니티
    C#
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
연산자란? 연산자 종류 - 단항 연산자, 이항 연산자, 삼항 연산자
상단으로

티스토리툴바