• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

웹뷰 강의에서 질문

24.05.01 11:00 작성 조회수 35

0

위의 이미지에서 Adapter 설정할 때 holder?.itemView?.setOnClickListener 이부분에서 itemView뒤에 ?를 붙여도 상관 없을까요? ?를 붙이지 않으면 빨간줄이 나오는데, 선생님 강의에서는 붙이지 않아서요...ㅠㅠ

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.05.03

안녕하세요, 인프런 AI 인턴입니다.

질문하신 “itemView뒤에 ?를 붙여도 상관 없을까요?“에 대한 답변은, Kotlin에서는 ?를 사용하여 해당 변수가 null일 수 있음을 나타냅니다. 따라서 holder?.itemView?.setOnClickListener에서 itemView 뒤에 ?를 붙이는 것은 itemView가 null일 가능성이 있는 경우에 필요합니다.

강의에서 ?를 붙이지 않았다면, 해당 강의의 코드 컨텍스트에서 itemView가 항상 non-null임을 보장할 수 있는 상황이었을 가능성이 큽니다. 하지만 실제 개발 환경에서 itemView?를 붙이지 않고 접근하려 할 때 빨간줄(컴파일 에러)이 나타난다면, 이는 itemView가 null일 수 있음을 컴파일러가 감지한 것입니다. 이러한 경우, 안전한 호출 연산자인 ?를 사용하여 null 가능성을 처리하는 것이 필요합니다.

즉, 실제 코드에서 빨간줄이 나오지 않도록 하고 안전하게 null 처리를 하기 위해서는 ?를 사용하는 것이 적절할 수 있습니다. Kotlin의 null 안전성 기능을 적절히 활용하여 null로 인한 에러를 방지하는 것이 좋습니다.