뷰(View) & 뷰그룹(ViewGroup)

이수민·2022년 10월 10일
post-thumbnail

뷰와 뷰그룹 적용 이해도

🎨 뷰(View)란 무엇인가?

뷰(View) = 위젯(Widget) ~ 컨트롤(Control)

  • 뷰(View)는 App에서 화면에 보이는 모든 것들을 가리킨다.
    (버튼, 텍스트, 이미지, 테이블 등)

  • 이러한 뷰(View)들 중에 최상위 클래스가 바로 "View 클래스"이다.
    이 View 클래스를 베이스로 두고, 각각의 기능을 가진 뷰들이 탄생하는 것이다. 뷰 계층도

화면에서 버튼 → '버튼 위젯'
실제 코드에서 버튼 → '버튼 클래스'


🎨 뷰그룹(ViewGroup)이란?

  • 내부에 뷰(View)들을 여러 개 포함하고 있으면서 그들을 배치/그룹핑하는 눈에 보이지 않는 틀
  • View와 ViewGroup을 담는 컨테이너 역할
  • 뷰그룹 안에는 뷰(View)만 배치 가능 뷰그룹의 역할
    • 뷰그룹은 부모클래스인 뷰에게 상속받는다. 즉, 뷰그룹또한 뷰로 다룰 수 있다.
    • 따라서 뷰그룹 안에 또 다른 뷰그룹을 배치할 수 있다.
  • 위젯을 담아 배치하는 틀(위젯) = 레이아웃
  • 다른 뷰를 포함하는 ListView, GridView, TabHost, Gallery 등 = 뷰 컨테이너

🎨 뷰(View) vs 뷰그룹(ViewGroup)

뷰와 뷰그룹의 관계

🧵 차이점

  • 뷰(View)

    • 가시적으로 모양이 있는 클래스
  • 뷰그룹(ViewGroup)

    • 눈에 보이지 않지만 뷰들을 배치하거나 그룹핑하는 역할
    • View와 ViewGroup을 담는 컨테이너 역할을 하는 클래스

🧵 뷰와 뷰그룹 계층도

  • 사진에 나와있듯이, ViewGroup도 View 클래스의 하위클래스이다.
    뷰와 뷰그룹 계층도

0개의 댓글