인프런 커뮤니티 질문&답변

ljws93님의 프로필 이미지
ljws93

작성한 질문수

윤재성의 Kotlin 기반 안드로이드 앱 개발 Part1 - UI Programming

18강 TextView

왜 익명 클래스를 이용하여 리스너 등을 정의하는건가요?

작성

·

247

0

그냥 단순 궁금증입니다.

이 강의에서는 모든 리스너를 익명 클래스/메서드로 정의하여 지정하는데요

인터넷에서 코틀린에 대해 정보를 찾아보면 다른 사람들은 대부분 클래스를 그냥 정의하거나 해서 리스너를 정의하더군요

굳이 익명 클래스로 정의하는 이유가 있나요?

예를 들면 이러이러한 장점이 있다 이런거요

답변 1

1

소프트캠퍼스님의 프로필 이미지
소프트캠퍼스
지식공유자

객체 지향 언어에서 클래스의 목적은 다수의 객체를 생성해서 관리하는데에 있습니다. 또, 다양한 변수와 메서드들을 하나로 관리함에도 그 목적이 있습니다. 그런데 클래스를 통해 생성하는 객체가 단 하나라면.. 그 객체가 오로지 한 군데에서만 쓰여지고 다른곳에서 쓰여지지 않는다면.. 이걸 굳이 클래스로 따로 정의하고 객체를 생성하고 그걸 전달해주고..할 필요가 있을까? 라는 의문에서 출발했다고 보시면됩니다. 익중 중첩클래스를 사용하면 클래스를 정의함과 동시에 객체를 생성해서 전달해줄 수 있으니깐요... 즉, 개발자의 개발 취향이라고 보시면 됩니다.. 저는 괄호가 많이 중첩되는걸 싫어하는 편이라 저는 잘 사용하지 않습니다.ㅎ

ljws93님의 프로필 이미지
ljws93

작성한 질문수

질문하기