Scope 함수는 인스턴스의 속성, 함수를 영역내에서 분리해서 사용 할 수 있다. 깔끔하고, 가독성을 높여 준다. apply / also 인스턴스 반환 run(with) /let 최종값 반환 apply 인스턴스(클래스)를 생성한 후 변수에 담기 전 초기화 과정을 수행 할 때 인스턴스 생성 후 .apply{ } 스코프 내에서 인스턴스의 .이름 없이 바로 사용 가능 즉, 인스턴스 생성 하고, 변수에 변경되거나 초기화 값을 넣은 다음 할당 하게 된다. class Book(var title: String, var number:Int){} var a = Book("a", 5).apply{ title = "abcde" + name} 인스턴스가 그대로 반환 된다 run apply 와 같으나, 마지막 구문이 반환 된다..