반응형
function과 비슷하지만 차이점이 있다.
1. 정의가 다르다.
Function은
함수이름, parameter list(s), =>, body
순으로 정의한다
Method는 정의할 때 def를 사용하고,
def ,Method 이름, parameter list(s), return type, body
순으로 정의한다.
- Method의 정의
1
2
|
def name(x:Int, y:Int) : Int = x-y
println(name(4,2))
|
cs |
![](https://blog.kakaocdn.net/dn/ndPoB/btrfU3oirXX/DcrfvboQAFemYzOAX29Ae0/img.png)
2. 여러개의 parameter lists를 가질 수 있다.
1
2
|
def name(x:Int, y:Int)(z:Int) : Int = x-y+z
println(name(4,2)(3))
|
cs |
![](https://blog.kakaocdn.net/dn/budb2O/btrfWaHfKah/3RpUbXrkLPAjS47RUh4xW0/img.png)
하지만, function과 마찬가지로, parameter을 아예 가지지 않을 수도 있다.
1
2
|
def name() : Int = 23
println(name())
|
cs |
![](https://blog.kakaocdn.net/dn/bvrARP/btrfTLIitaA/qrNeNA0hLcPRsv8HvrAtTK/img.png)
3. 여러 줄로 여러 가지 표현을 할 수 있다.
1
2
3
4
5
6
|
def changeNumString(input: Double) : String = {
val num = input
input.toString
}
println(changeNumString(9.9))
|
cs |
![](https://blog.kakaocdn.net/dn/cMLacD/btrfUQJkNsV/3Olvk5ZmdpvVlAnuCk0jK0/img.png)
여기서 마지막 줄이, method의 return 값이다.
따라서 여기서 return값을 나타내는 줄은
input.toString
스칼라에도 return표현이 있지만, 거의 쓰지 않는다.
반응형
'공부 > 프로그래밍언어 (scala)' 카테고리의 다른 글
#6 scala 기본 - 형(type) (0) | 2021.09.26 |
---|---|
#4 scala 기본 - Functions (0) | 2021.09.25 |
#3 scala 기본 - Blocks (0) | 2021.09.25 |
#2 scala 기본 - Values, Variables (0) | 2021.09.25 |
#1 scala 기본 - println (0) | 2021.09.25 |