주인장의 프로그래밍 개발 공부방

[Chapter 2 연산자] 3. 단항 연산자(Operator)의 종류 (부호, 논리부정) 본문

프로그래밍 기본 지식/Chapter 2 연산자

[Chapter 2 연산자] 3. 단항 연산자(Operator)의 종류 (부호, 논리부정)

거신 2019. 5. 14. 09:09

지난 시간에는 자바 프로그래밍에서 사용하는 연산자(Operator) 중에서

산술 연산자, 비교 연산자, 논리 연산자에 대해서 알아봤다.

이번 시간부터는 단항 연산자라고 해서 피연산자(Operand)가 하나만 존재하는 연산자에 대해서 알아보자.

 

목표 : 단항 연산자의 종류 중 부호 연산자와 논리부정 연산자의 의미를 정확하게 파악한다.

 

1. 부호 연산자

 

우리가 단항 연산자 중에서 가장 잘 알고 있는 것이 바로 부호 연산자일 것이다.

부호 연산자가 뭐냐고 궁금할 수도 있겠지만

이름 그대로 부호를 결정하는 연산자가 되겠다.

가령

-1, +2와 같이

숫자 앞에 붙어서 해당 숫자의 부호를 결정하는 연산자라는 것이다.

굳이 부호 연산자의 원리를 알아보자면

'+'피연산자(예시에서 2)에 +1을 곱한 것이고

'-'피연산자(예시에서 1)에 -1을 곱한 것이라고 볼 수 있다.

굳이 이런 것까지 하고 있나 싶기도 할 것이다.

 

2. 논리부정 연산자

 

자. 약간 이름이 복잡한 녀석이 등장했다.

바로 논리부정 연산자이다.

우리가 이 연산자에 대해서 알아보기 전에 간단하게 추측을 한 번 해보고 들어가보자.

이름이 조금 길긴하지만 단어로 뜯어서 살펴보면

논리 / 부정 / 연산자라고 분리를 할 수 있을 것이다.

즉, 추측해보면 이 연산자는 논리 값을 가지고 어떻게 하는거 같은데

부정의 의미를 지니고 있는 연산자인거 같다는

의심을 할 수 있지 않을까 개인적으로 생각한다.

뭐, 쉽게 생각하면 그냥 말을 기~~일게 풀어 쓴건데 대충 의미는 파악이 된 듯 싶다.

 

논리부정 연산자는 !로 표기하는데

boolean 값, 즉, 논리 값반대로 바꿔주는 연산자이다.

예를 들면,

 

boolean b = false;

 

라는 boolean타입의 변수명이 b인 변수가 있는데

여기서 b는 논리 값 false를 가지고 있다.

그렇다면 여기에서

 

b = !b;

 

라고 b에 새롭게 값을 지정해준다면...

이전까지 b는 false를 가지고 있었지만

!b가 되는 순간 true로 값이 변하게 된다.

따라서

 

b = !b;

 

라는 코드를 실행하게 되면 b에는 false가 아니라 true가 들어가게 되는 것이다.

정말 간단하다.

다만 기억하고 있어야할 것은 논리부정 연산자의 피연산자

'무조건'

boolean값 또는 변수형이 boolean일 때만 가능하다는 것이다.

 

3. 마무리

 

단항 연산자 중 간단하게 부호 연산자논리부정 연산자에 대해서 알아봤다.

부호 연산자는 말그대로

해당 숫자 값 또는 변수가 +(양수)인지 -(음수)인지를 결정하는 연산자가 되겠다.

논리부정 연산자는 이름에도 있듯이 논리 값에만 사용할 수 있는데

반대의 논리 값으로 바꿔주는 역할을 하는 연산자이다.

Comments