20230913 확장함수

기메단·2023년 9월 13일
1

TIL

목록 보기
42/44

확장함수

기존 클래스를 상속하거나 디자인 패턴을 사용하지 않아도 
클래스 밖에서 기존 클래스의 멤버 함수인것처럼 사용 가능하다.
  1. Context 클래스를 확장하여 showToast라는 메소드를 작성합니다.

  2. 이 함수는 메시지(String)와 지속 시간(Int, 기본값은 Toast.LENGTH_SHORT) 두 가지 파라미터를 받습니다.

  3. 함수를 호출하면 해당 메시지의 Toast가 지정된 지속 시간 동안 화면에 나타나야 합니다.

    1. 지속시간을 변경할수도 있습니다
  4. MainActivity에서 이 확장 함수를 사용하여 토스트 메시지를 출력해봅니다.

    Ex : Hello World

확장함수 만들기

fun Context.showText(message: String, time: Int = Toast.LENGTH_SHORT) {
    Toast.makeText(this, message, time).show()
}
Context 클래스에 showText 함수를 추가. 
this는 확장 함수가 호출된 Context 객체를 나타낸다. 

확장함수 호출

                showText("프래그먼트 생성")
showText 함수로 토스트 메세지 생성. time 값을 지정 안해줬으니 자동으로 기본값인 
Toast.LENGTH_SHORT 가 설정되어서 짧게 토스트 메세지가 나온다. 

0개의 댓글