1️⃣ GUI vs CLI

방식 특징
CLI (Command Line Interface) 명령어 입력 기반 / 개발자·관리자 중심
GUI (Graphic User Interface) 버튼, 창, 마우스 입력 등 직관적 사용자 인터페이스

GUI 프로그램 = 컴포넌트들(Component) + 레이아웃(Layout) 조합


2️⃣ AWT & Swing 비교

구분 AWT Swing
의미 기본 GUI 라이브러리 AWT를 확장한 GUI 툴킷
운영체제 UI 의존 의존함 독립적(일관된 UI)
제공 컴포넌트 버튼/리스트/텍스트 등 기본 요소 테이블, 트리 등 확장 컴포넌트 많음
클래스 앞 없음 J 로 시작 (예: JFrame, JButton)

실무에서는 Swing이 일반적으로 더 많이 사용됨


3️⃣ 기본 GUI 화면 생성 예시

✅ AWT Frame 생성

Frame f = new Frame("윈도우 예제");
f.setSize(200, 200);
f.setVisible(true);

✅ Swing JFrame 생성

JFrame f = new JFrame("스윙 예제");
f.setSize(200, 200);
f.setVisible(true);


4️⃣ 주요 AWT 컴포넌트

컴포넌트 용도
Button 클릭 가능한 버튼
Checkbox / CheckboxGroup 다중 / 단일 선택 항목
Choice 드롭다운 선택 메뉴
Label 텍스트 표시
List 여러 항목 중 선택
Scrollbar 스크롤 바
TextField / TextArea 텍스트 입력
Panel 컴포넌트 묶는 컨테이너
ScrollPane 스크롤 가능한 화면 컨테이너

5️⃣ 주요 Swing 컴포넌트

Swing 컴포넌트 설명
JCheckBox 체크박스
JRadioButton 라디오 버튼 그룹 (ButtonGroup 사용)
JList 리스트 (AWT보다 사용 편리)
JTable 표 형태 데이터 표시
JScrollPane 스크롤 가능한 패널