많 은 애플리케이션 은 사용 자 로 하여금 애플리케이션 들 과 상호 작용 할 수 있 게 해 주 는 그래픽 사용 자 인터페이스 ( GUI ) 를 제공 한다 . 애플리케이션 GUI 는 정보 를 출력 하 고 그리고 / 또는 사용자 로부터 정보 를 수신 하 기 위한 임의 수 의 상이 한 GUI 컴포넌트 ( 예 를 들 어 , 위젯 , 컨트롤 ) 를 포함 할 수 있 다 . 그러 한 GUI 컴포넌트 들 의 예 들 은 선택 가능 명령 들 의 세트 를 목록 화 하 기 위한 메뉴 들 , 액션 을 수행 하 기 위한 선택 가능 버튼 들 , 정보 를 표시 하 고 그리고 / 또는 사용 자 입력 을 수신 하 기 위한 디스플레이 윈도 들 , 텍스트 입력 을 수신 하 기 위한 텍스트 박스 들 등 을 포함 한다 .