>  기사  >  백엔드 개발  >  [TOUR OF Scala] 1 - 소개 - TOUR OF SCALA

[TOUR OF Scala] 1 - 소개 - TOUR OF SCALA

不言
不言원래의
2018-03-30 14:19:181443검색

Welcome

이 여정에는 Scala에서 가장 일반적으로 사용되는 기능을 소개하는 몇 가지 간략한 소개가 포함되어 있습니다. 초보자가 언어를 배울 수 있도록 설계되었습니다.

이것은 완전한 언어 튜토리얼이 아닌 간단한 소개일 뿐입니다. 가능하다면 이 책을 구입하거나 다른 자료를 확인해 보세요.

스칼라란 무엇인가요?

Scala는 간결하고 우아하며 유형이 안전한 방식으로 일반적인 프로그래밍 패턴을 표현하도록 설계된 현대적인 다중 패러다임 프로그래밍 언어입니다. 객체지향 언어와 함수형 언어의 기능을 원활하게 통합합니다.

Scala는 객체지향 언어입니다

Scala는 순수 객체지향 언어입니다. 어떤 의미에서는 모든 값이 객체입니다. 객체 유형과 동작은 클래스와 특성으로 설명됩니다. 클래스는 서브클래싱과 유연한 믹스인 기반 구성 메커니즘을 통해 확장되어 다중 상속을 완전히 대체합니다.

Scala는 함수형 언어입니다.

Scala는 어떤 의미에서는 함수형 언어이기도 합니다. Scala는 익명 함수 정의를 위한 경량 구문을 제공하고, 고차 함수를 지원하고, 함수 중첩을 허용하고, 커링을 지원합니다. Scala의 샘플 클래스와 패턴 일치 모델 대수 유형에 대한 기본 지원은 많은 함수형 프로그래밍 언어에서 사용됩니다. 싱글톤 객체는 클래스의 멤버가 아닌 함수를 그룹화하는 편리한 방법을 제공합니다.

또한 Scala의 패턴 일치 개념은 추출기 개체를 통한 일반적인 확장을 통해 올바른 시퀀스 패턴을 무시하는 도움으로 자연스럽게 XML 데이터 처리로 확장됩니다. 이 경우 이해력이 쿼리를 공식화하는 데 도움이 됩니다. 이러한 기능으로 인해 Scala는 웹 서비스와 같은 애플리케이션 개발에 이상적입니다.

Scala는 정적으로 유형이 지정되는 언어입니다.

Scala는 안전하고 일관된 방식으로 추상화 사용을 정적으로 적용하는 표현 유형 시스템을 갖추고 있습니다. 특히 유형 시스템은 다음을 지원합니다.

  • 일반 클래스

  • 모프 주석

  • 상위 및 하위 유형 경계

  • 객체 멤버로서의 내부 클래스 및 추상 유형

  • 복합 유형

  • 명시적으로 유형이 지정된 자체 참조

  • 암시적 매개변수 및 암시적 변환

  • 다형성 메서드

유형 추론은 사용자가 중복 유형 정보로 코드에 주석을 달 필요가 없음을 의미합니다. 이러한 기능을 종합하면 프로그래밍 추상화의 안전한 재사용과 소프트웨어의 유형 안전 확장을 위한 강력한 기반을 제공합니다.

Scala는 확장 가능합니다

실제로 도메인별 애플리케이션 개발에는 도메인별 언어 확장이 필요한 경우가 많습니다. Scala는 라이브러리 형태로 새로운 언어 구성을 쉽게 추가할 수 있는 고유한 언어 메커니즘 조합을 제공합니다.

많은 경우 매크로와 같은 메타프로그래밍 도구를 사용하지 않고도 이 작업을 수행할 수 있습니다. 예:

  • 암시적 클래스: 확장 메서드를 기존 유형에 추가할 수 있습니다.

  • 문자열 보간: 사용자는 사용자 정의 보간기로 확장할 수 있습니다.

Scala는 상호 운용 가능합니다.

Scala는 널리 사용되는 JRE(Java Runtime Environment)와 잘 상호 운용되도록 설계되었습니다. 특히, 주류 객체 지향 Java 프로그래밍 언어와의 상호 작용은 최대한 원활합니다. SAM, 람다, 주석, 제네릭과 같은 최신 Java 기능은 Scala와 직접적으로 유사합니다.

기본 매개변수, 명명된 매개변수 등 Java 유사체가 없는 Scala 기능은 가능한 한 Java에 가깝게 컴파일됩니다. Scala는 Java와 동일한 컴파일 모델(별도 컴파일, 동적 클래스 로딩)을 갖고 있으며 수천 개의 기존 고품질 라이브러리에 대한 액세스를 허용합니다.

TODO 텍스트의 모든 관련 링크는 번역 후 대체됩니다

위 내용은 [TOUR OF Scala] 1 - 소개 - TOUR OF SCALA의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.