Scala의 연산자

노트: 이 자습서는 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