Scala 특징

scala 2015. 6. 8. 15:52

<<

JAVA:  bytecode는 interpre언어이나.. 실행시 JIT Compiler가 기계어로 바꿔서 실행하므로 compile언어라고 본다.

Scala는 이와 동일하게 javabytecode로 바꾸는 방식을 그대로 따르며, 완전한 java bytecode를 이용한다.   >>

 

 

이름에서 나와있듯이 scalable한 언어이다.

 

아래 1번 scalable이 6번 안전성과 관계를 좀 더 살펴봐야 할 것 같은데

어쨌던 Functional 언어의 등장 자체가

multi-core에서 안전성을 가지기 위해서 이므로..

6번의 안전성을 기반으로 1번 확장성도 가지게 된다고 개인적으로 보고 있다.

 

 

 

<Scala의 특징>

 

1. scalable

 

2. pure Object-Oriendted  (java는 primitive가 Object가 아님)

3. Functional 언어

- Assignment를 없애서, 참조투명성(REFERENTIAL TRANSPARENCY) 을 확보.

참고사이트:

4. Java 호환.

5. 함수도 객체.

 

6. future-Proof

 

7.Fun 

참고사이트:




한글 튜토리얼


< 기본 문법>

def : function이나 method를 선언할때 사용 

val : reasign이 불가능한 상수를 선언할때 사용 

var: reasign이 가능한 변수를 선언할때 사용 


exam )

    def helloWorld = println("hello world.") 

    val foo: Int = 1 

    var bar = "test" 


<case Class>

new 없이 쓸 수 있고,  getter필요없이 바로 .value 로 access.

 

Several Example : http://alvinalexander.com/scala/ 

 

<Flat Map>

http://alvinalexander.com/scala/collection-scala-flatmap-examples-map-flatten 

Posted by yongary
,