[Kotlin] λžŒλ‹€μ‹ / SAMλ³€ν™˜

2020. 8. 29. 21:51·개발 νƒ€μž„μΊ‘μŠ/Kotlin

λžŒλ‹€μ‹

λžŒλ‹€μ‹μ€ ν•˜λ‚˜μ˜ ν•¨μˆ˜λ₯Ό ν‘œν˜„ν•˜λŠ” 방법이며, 읡λͺ…ν΄λž˜μŠ€λ‚˜ 읡λͺ… ν•¨μˆ˜λ₯Ό κ°„κ²°ν•˜κ²Œ ν‘œν˜„ν•  수 μžˆμ–΄ μœ μš©ν•˜λ‹€.

//두 수λ₯Ό 인수둜 λ°›μ•„μ„œ λ”ν•΄μ£ΌλŠ” addλ©”μ„œλ“œ
fun add(x: Int, y: Int): Int {
    return x + y
}

//μœ„ μ½”λ“œλŠ” μ΄λ ‡κ²Œ ν‘œν˜„ κ°€λŠ₯ν•˜λ‹€.
fun add(x: Int, y: Int) = x + y

 

μ΄λ ‡κ²Œλ„ ν‘œν˜„κ°€λŠ₯ν•˜λ‹€. 인수λͺ©λ‘μ„ λ‚˜μ—΄ν•˜κ³  -> 이후에 본문이 μœ„μΉ˜ν•œλ‹€. 

//{인수1: νƒ€μž…1, 인수2: νƒ€μž…2 -> λ³Έλ¬Έ}
var add = { x: Int, y: Int -> x + y }

println(add(2, 5)) //7

 

SAM λ³€ν™˜ 

μ½”ν‹€λ¦°μ—μ„œλŠ” 좔상 λ©”μ„œλ“œ ν•˜λ‚˜λ₯Ό 인수둜 μ‚¬μš©ν•  λ–„λŠ” ν•¨μˆ˜λ₯Ό 인수둜 μ „λ‹¬ν•˜λ©΄ νŽΈν•˜λ‹€.

μžλ°”λ‘œ μž‘μ„±λœ λ©”μ„œλ“œκ°€ ν•˜λ‚˜μΈ μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•  λ•ŒλŠ” λŒ€μ‹  ν•¨μˆ˜λ₯Ό μž‘μ„±ν•  수 μžˆλŠ”λ° 이λ₯Ό SAMλ³€ν™˜μ΄λΌκ³  ν•œλ‹€.

 

예λ₯Ό λ“€μ–΄ μ•ˆλ“œλ‘œμ΄λ“œμ—μ„œ λ²„νŠΌ 클릭 이벀트λ₯Ό κ΅¬ν˜„ν•  λ•Œ onClick() 좔상 λ©”μ„œλ“œλ§Œμ„ κ°€μ§€λŠ” view.OnClickListener μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•œλ‹€.

button.setOnClickListener(object : View.OnClickLister) {
    override fun onClick(v: View?){
        //클릭 μ‹œ 처리
    }
}}

μ—¬κΈ°μ„œ View.OnClickLister μΈν„°νŽ˜μ΄μŠ€μ—λŠ” onClick() μΆ”μƒλ©”μ„œλ“œκ°€ ν•˜λ‚˜ 있기 λ•Œλ¬Έμ— onClick() λ©”μ„œλ“œλ₯Ό μ˜€λ²„λΌμ΄λ“œν•˜κ³  μžˆλ‹€.

 

button.setOnClickListener({ v: View? ->
    //클릭 μ‹œ 처리
})

κ΅¬ν˜„ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€μ— κ΅¬ν˜„ν•΄μ•Ό ν•  λ©”μ„œλ“œκ°€ ν•˜λ‚˜λΏμΌ λ•Œ 이λ₯Ό λžŒλ‹€μ‹μœΌλ‘œ λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒ μ½”λ“œλŠ” λžŒλ‹€μ‹μœΌλ‘œ λ³€κ²½λ˜μ–΄ μ½”λ“œκ°€ μ€„μ—ˆμ§€λ§Œ κ΄„ν˜Έλ„ μ€‘μ²©λ˜μ–΄ 있고 κΈ°ν˜Έλ„ 많고 λ­”κ°€ μ½”λ“œλŠ” λ³΅μž‘ν•΄λ³΄μΈλ‹€.

 

button.setOnClickListener() { v: View? ->
    //클릭 μ‹œ 처리
}

λ©”μ„œλ“œ 호좜 μ‹œ 맨 뒀에 μ „λ‹¬λ˜λŠ” μΈμˆ˜κ°€ λžŒλ‹€μ‹μΈ κ²½μš°μ—λŠ” λžŒλ‹€μ‹μ„ κ΄„ν˜Έ λ°–μœΌλ‘œ λΊ„ 수 μžˆλ‹€.

 

button.setOnClickListener { v: View? ->
    //클릭 μ‹œ 처리
}

λ˜ν•œ λžŒλ‹€κ°€ μ–΄λ–€ λ©”μ„œλ“œμ˜ μœ μΌν•œ 인수인 κ²°μš°μ—λŠ” λ©”μ„œλ“œμ˜ κ΄„ν˜Έλ₯Ό μƒλž΅ν•  수 μžˆλ‹€.

 

button.setOnClickListener() { v ->
    //클릭 μ‹œ 처리
}

μ»΄νŒŒμΌλŸ¬κ°€ μžλ£Œν˜•μ„ μΆ”λ‘ ν•˜λŠ” κ²½μš°μ—λŠ” μžλ£Œν˜•μ„ μƒλž΅ν•  수 μžˆλ‹€.

 

button.setOnClickListener() { _ ->
    //클릭 μ‹œ 처리
}

λ§Œμ•½ 클릭 μ‹œ μ²˜λ¦¬μ— v인수λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ vλΌλŠ” 이름은 _ 기호둜 λŒ€μΉ˜ν•  수 μžˆλ‹€.

 

button.setOnClickListener() {
    it.visibility = View.GONE
}

λžŒλ‹€μ‹μ—μ„œ μΈμˆ˜κ°€ ν•˜λ‚˜μΈ κ²½μš°μ—λŠ” 이λ₯Ό μƒλž΅ν•˜κ³  λžŒλ‹€ 블둝 λ‚΄μ—μ„œ 인수λ₯Ό it둜 μ ‘κ·Όν•  수 μžˆλ‹€. 

'개발 νƒ€μž„μΊ‘μŠ > Kotlin' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Kotlin] 리슀트 / λ§΅ / μ§‘ν•©  (0) 2020.08.29
[Kotlin] null 처리  (0) 2020.08.27
[Kotlin] μΈν„°νŽ˜μ΄μŠ€  (0) 2020.08.27
[Kotlin] 클래슀  (0) 2020.08.27
[Kotlin] μ œμ–΄λ¬Έ(if, when, for, while)  (0) 2020.08.25
'개발 νƒ€μž„μΊ‘μŠ/Kotlin' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [Kotlin] 리슀트 / λ§΅ / μ§‘ν•©
  • [Kotlin] null 처리
  • [Kotlin] μΈν„°νŽ˜μ΄μŠ€
  • [Kotlin] 클래슀
πŸ₯­Mango
πŸ₯­Mango
  • πŸ₯­Mango
    AppleMangoπŸ₯­
    πŸ₯­Mango
  • 전체
    였늘
    μ–΄μ œ
    • λΆ„λ₯˜ 전체보기
      • iOS
        • Swift
        • SwiftUI
        • RxSwift
      • Algorithm
        • C
        • Python
        • Swift
      • Computer Science
        • 컴퓨터 λ„€νŠΈμ›Œν¬
        • OS
      • ...
      • 개발 νƒ€μž„μΊ‘μŠ
        • Python
        • Flutter
        • Android
        • Kotlin
        • Java
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 링크

  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    IOS
    MapMarker
    SwiftUI
    Apple Login
    파이썬 μ •λ ¬
    typing animation
    Code Base
    μ½”ν‹€λ¦° 상속
    1613 파이썬
    1차원 λΏŒμš”λΏŒμš”
    μŠ€νƒ
    μ½”ν‹€λ¦°
    파이썬 14503
    swiftUI tabview
    14503 λ‘œλ΄‡μ²­μ†ŒκΈ°
    1613 역사
    λ°±μ€€ μ†Œμˆ˜
    역사 파이썬
    Custom Map Marker
    파이썬 6118
    6118
    파이썬
    파이썬 ν† λ§ˆν† 
    14503 파이썬
    swiftUI Gradients
    파이썬 1459
    ν† λ§ˆν† 
    SwiftUI Apple Login
    λ°±μ€€ ν† λ§ˆν† 
    Swift Hello World!
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.2
πŸ₯­Mango
[Kotlin] λžŒλ‹€μ‹ / SAMλ³€ν™˜
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”