Skip to content

Latest commit

 

History

History
10 lines (10 loc) · 705 Bytes

멤버 확장 함수 사용을 지양하자.md

File metadata and controls

10 lines (10 loc) · 705 Bytes

멤버 확장 함수 사용을 지양하자

  • 확장 함수는 클래스 멤버 또는 인터페이스 내부에 정의 가능

멤버 확장 함수의 문제점

  • 가시성 제한의 효과가 없음
    • 확장 함수의 사용 형태를 어렵게 만듦
    • 가시성을 제한하기 위해서는 한정자 사용 권장(클래스 내부에 확장 함수를 배치한다고 외부에서의 사용을 제한하는 것이 아님)
  • 레퍼런스(::) 미지원
  • 리시버가 여러 개인 경우, 어떤 리시버가 선택될지 혼동 야기
  • 외부 클래스를 리시버로 받는 경우, 동작이 명확하지 않음
  • 경험이 적은 개발자의 경우, 직관적이지 않을 수 있음