노트: 이 자습서는 Scala 자습서 시리즈의 계속입니다. Scala 초보자 가이드와 Scala中的IF ELSE를 읽지 않았다면, 확인하십시오.
소개
연산자(operator
)는 심볼이나 함수로서 하나 이상의 피연산자에 대해 수행할 연산을 나타냅니다. 다양한 종류의 연산자가 있으며 피연산자는 변수
로 생각할 수 있습니다. 연산자는 모든 프로그래밍 언어의 기반입니다. 연산자는 우리가 피연산자에 대해 다양한 종류의 연산을 수행할 수 있게 해줍니다. 연산자는 컴파일러에게 математически(산술), 논리적, 대입 등의 연산을 수행하고 마지막으로 결과를 출력하라고 지시합니다.
다음과 같은 다양한 종류의 연산자는 많은 프로그래밍 언어 및 Scala에서 사용됩니다:
- 관계 연산자
- 산술 연산자
- 대입 연산자
- 논리 연산자
- 비트 연산자
이들 연산자에 대해 이론적으로도 프로그래밍적으로도 배우게 될 것입니다.
관계 연산자
관계 연산자는 주로 두 개 이상의 변수 사이에 비교를 수행하는 데 사용되는 연산자입니다. Scala의 IF ELSE 자습서를 읽었다면, IF ELSE
조건에서 관계 연산자의 강력함을 활용하였을 것을 발견할 것입니다.
이러한 관계 연산자는 布尔값
을 반환합니다, 즉 True 또는 False입니다.
다음은 변수에 적용할 수 있는 관계 연산자 기호입니다 (출처: Scala의 연산자):
-
같음(==):
주어진 두 변수나 피연산자가 같은지 여부를 확인합니다. 같으면 true를 반환하고, 다르면 false를 반환합니다. -
같지 않음(!=):
같음
연산자의 반대입니다. 또는같음
연산자의 불리언 반대라고 할 수 있습니다. 주어진 두 피연산자가 같은지 여부를 확인합니다. 다르면 true를 반환하고, 같으면 false를 반환합니다. -
Greater Than(>):
첫 번째 피연산자가 두 번째 피연산자보다 큰지 여부를 확인합니다. 그렇다면 true를 반환하고, 그렇지 않으면 false를 반환합니다. -
Less than(<):
이는greater than
연산자의 반대입니다. 첫 번째 피연산자가 두 번째 피연산자보다 작은지 여부를 확인합니다. 그렇다면 true를 반환하고, 그렇지 않으면 false를 반환합니다. -
Greater Than Equal To(>=):
이 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 크거나 같은지 확인합니다. 그렇다면 true를 반환하고, 그렇지 않으면 false를 반환합니다. -
Less Than Equal To(<=):
greater than equal to
연산자의 반대입니다. 첫 번째 피연산자가 두 번째 피연산자보다 작거나 같은지 확인합니다. 그렇다면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
이제 코드를 통해 관계 연산자를 이해해 봅시다.

위의 코드를 실행하려면 scala relation_op.scala를 입력하면 아래와 같은 출력이 나타납니다.

다음으로 논리 연산자
에 대해 배웁니다.
논리 연산자
주로 IF ELSE
문이나 while
루프와 같은 조건문에서 사용됩니다. 두 개 이상의 조건을 결합하거나 원래 조건의 출력을 보완합니다. (출처: Scala의 연산자)
-
논리 AND:
두 조건이 모두 충족될 때 true를 반환합니다. 그렇지 않으면 false를 반환합니다. “and” 사용은 && 연산자의 대리 역할을 합니다. -
논리 OR:
하나 이상의 조건이 충족될 때 true를 반환합니다. 그렇지 않으면 false를 반환합니다. “or” 사용은 || 연산자의 대리 역할을 합니다. -
논리 NOT: 고려되는 조건이 만족되지 않으면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. “not”를 사용하면 ! 연산자의 대체 용이 됩니다.


算術(數學) 연산자
이름에서 알 수 있듯이,算術 연산자는 피연산자 사이에서 수학적 연산을 수행하는 데 사용됩니다.
다음은 Scala에서 주로 사용되는算術 연산자입니다. (출처: Scala中的연산자):
-
덧셈: 두 변수/피연산자를 $(+)$ 합니다.
-
뺄셈: 두 피연산자를 $(-)$ 합니다.
-
곱셈: 두 피연산자를 $(\times)$ 합니다.
-
나눗셈: 첫 번째 피연산자를 두 번째 피연산자로 나눕니다.($(/)$)
-
지수:
피연산자의 지수(거듭제곱)를 반환합니다. 기본적으로, 한 피연산자가 두 번째 피연산자의 지수로 제곱되는 것입니다. $(x^y)$ 또는 $(x**y)$. -
나머지:
첫 번째 피연산자가 두 번째 피연산자로 나누어지면, 남는 것이나 나머지를 모듈러스(%)라고 합니다.
빨리 작은 코드 조각을 작성하여 결과를 분석해봅시다.
이 예제에서는 변수를 정의하는 대신 리스트
를 사용할 것입니다. 변수와 달리 리스트는 n
개의 값을 가지고 있을 수 있으며, 다양한 자료형을 가질 수 있으며, 스칼라에서 연결 리스트로 표현되며 불변합니다. 두 변수 대신 두 리스트에 대해 산술 연산을 수행할 것입니다.


대입 연산자
변수에 값을 할당하려면 할당 연산자를 사용합니다. 이를 수행하기 위해 오른쪽 피연산자는 값으로 간주되고, 왼쪽 피연산자는 일반적으로 값이 할당되는 변수입니다. 값은 int
, float
등 다양한 데이터 타입을 가질 수 있습니다. 변수와 값의 데이터 타입은 동일해야 하며 그렇지 않으면 컴파일러가 오류를 발생시킵니다. (출처: Scala의 연산자)
-
단순 할당:
이 연산자는 변수에 값을 할당하는 데 사용됩니다 $(=)$. -
덧셈 및 할당:
왼쪽 피연산자에 오른쪽 피연산자를 더하고 최종적으로 그 값을 왼쪽 변수에 할당하는 데 사용됩니다 $(+=)$. -
뺄셈 및 할당:
덧셈 및 할당
과 유사합니다. 왼쪽 피연산자에서 오른쪽 피연산자를 빼고 최종적으로 그 값을 왼쪽 변수에 할당하는 데 사용됩니다 $(-=) $. -
곱하기 및 할당:
왼쪽 피연산자를 오른쪽 피연산자와 곱한 후 왼쪽 변수에 할당하는 데 사용됩니다 $(\times =)$. -
나누기 및 할당:
왼쪽 피연산자를 오른쪽 피연산자와 나눈 후 왼쪽 변수에 값을 할당하는 데 사용됩니다 $(/=)$.
비슷하게, 이러한 할당 연산자는 더 많이 있습니다. 마지막으로, 이들이 프로그래밍적으로 어떻게 동작하는지 이해하기 위해 코드를 작성해 봅시다.


결론
이 스칼라 튜토리얼을 완료한 것을 축하합니다.
이전 두 튜토리얼을 읽었다면, 이제 스칼라의 세 가지 다른 주제를 다루었습니다. 유용한 연습은 세 가지에서 얻은 기술을 결합하여 처음부터 하나의 스칼라 프로그램을 작성하는 것입니다. 이것은 자신감을 높여줄 뿐만 아니라 스칼라의 더 고급 주제를 따라가는 동안 생활을 더 쉽게 만들어 줄 것입니다.
참고자료:
이 튜토리얼과 관련된 질문이 있으면 아래 댓글란에 자유롭게 질문해 주세요.
Source:
https://www.datacamp.com/tutorial/operators-in-scala