본문 바로가기

Programming47

[자프실] 9. 자바의 이벤트 처리 9.1 이벤트 기반 GUI 프로그래밍 이벤트 기반 프로그래밍 이벤트 기반 프로그래밍(event driven programming): 이벤트 발생에 의해 프로그램 흐름이 결정되는 방식 배치 실행(batch programming): 프로그램의 개발자가 프로그램의 흐름을 결정하는 방식 자바의 이벤트 기반 GUI 응용프로그램 구조 : 각 이벤트마다 처리하는 리스너 코드를 보유한다. ▶ 자바 스윙 프로그램에서 이벤트 처리 과정: 이벤트 발생 이벤트 객체 생성: 현재 발생한 이벤트에 대한 정보를 가진 객체 응용프로그램에 작성된 이벤트 리스너 찾기 이벤트 리스너 실행 - 리스너에 이벤트 객체 전달 - 리스너 코드 실행 9.2 이벤트 객체 이벤트 객체와 이벤트 정보 이벤트 객체: 발생한 이벤트에 관한 정보를 가진 객체.. 2024. 1. 11.
[자프실] 8. 자바 GUI 스윙 기초 8.1 자바의 GUI GUI 응용프로그램이란? ▶ GUI(Graphical User Interface) : 사용자가 편리하게 입출력할 수 있도록 그래픽 화면을 구성하고, 마우스나 키보드로 입력받을 수 있도록 지원하는 사용자 인터페이스 AWT와 Swing 패키지 ▶ GUI 컴포넌트: GUI 기반의 응용프로그램을 쉽게 작성할 수 있도록 한다. AWT(Abstract Windowing Toolkit) 스윙(Swing): 경량 컴포넌트(light weight component), 현재 자바의 GUI로 사용된다. 스윙 GUI 응용프로그램 샘플 8.2 자바의 GUI 패키지 GUI 패키지 계층 구조 : Object - Component - Container - JComponent 모든 GUI 컴포넌트들은 Compon.. 2024. 1. 10.
[자프실] 7. 컬렉션과 제네릭 7.1 컬렉션과 제네릭 개념 컬렉션의 중요성과 개념 컬렉션: 요소(element)라고 불리는 가변 개수의 객체들의 저장 컬렉션을 위한 자바 인터페이스와 클래스 컬렉션의 특징 컬렉션은 제네릭(generics)이라는 기법으로 구현되어 있다. 컬렉션의 요소는 객체들만 가능하다. 제네릭의 기본 개념 제네릭: 모든 종류의 타입을 다룰 수 있도록, 클래스나 메소드를 일반화된 타입 매개 변수(generic type)를 이용하여 선언하는 기법 제네릭 타입 매개 변수 : 컬렉션 클래스에서 타입 매개 변수로 사용하는 문자는 다른 변수와 혼동을 피하기 위해 일반적으로 하나의 대문자를 사용한다. 7.2 제네릭 컬렉션 활용 Vector : 배열을 가변 크기로 다룰 수 있게 하고, 객체의 삽입, 삭제, 이동이 쉽도록 구성한 컬렉.. 2024. 1. 7.
[자프실] 6. 모듈과 패키지 개념, 자바 패키지 활용 6.1 패키지 패키지의 개념과 필요성 패키지: 서로 관련 있는 클래스나 인터페이스의 컴파일된 클래스(.class) 파일들을 하나의 디렉터리에 모아 놓은 것 자바의 모듈과 패키지, 클래스 경로명 패키지 사용하기, import 문 6.2 패키지 만들기 패키지 선언 6.3 모듈 개념 모듈: 여러 개의 패키지들을 모은 것 자바 플랫폼의 모듈화 모듈 기반의 자바 실행 환경 자바 모듈화의 목적 6.4 자바 JDK에서 제공하는 패키지 JDK의 주요 패키지 JDK(Java Development Kit): 자바 API : 화면 출력, 키 입력, 네트워킹 등 프로그램 개발에 필요한 기본적인 기능과 다양한 응용 기능을 구현한 많은 클래스와 인터페이스들을 포함하는 표준 패키지를 제공한다. 6.5 Object 클래스 Objec.. 2024. 1. 5.
[자프실] 5. 상속 5.1 상속의 개념 상속의 필요성 5.2 클래스 상속 & 객체 자바의 상속 선언 상속과 객체 /* * 예제 5-1 * (x,y)의 한 점을 표현하는 Point 클래스 * Point 클래스를 상속받아 점에 색을 추가한 ColorPoint 클래스 */ // Point 클래스 class Point{ private int x, y; public void set(int x, int y) { this.x = x; this.y = y; } public void ShowPoint() { System.out.println("(" + x + ", " + y + ")"); } } // ColorPoint 클래스 class ColorPoint extends Point{ String color; public void setCo.. 2024. 1. 5.
[자프실] 4. 클래스와 객체 4.1 객체 지향과 자바 세상 모든 것이 객체다. 자바의 객체 지향 특성 ▶ 캡슐화(encapsulation): 객체를 캡슐로 싸서 그 내부를 보호하고 볼 수 없게 만든 것 클래스(class): 객체의 모양을 선언한 틀 실체(instance): 객체 ▶ 상속(inheritance): 상위 객체의 속성이 하위 객체에 물려져서, 하위 개체가 상위 개체의 속성을 모두 가지는 관계 확장(extends): 자식 클래스가 부모 클래스의 속성을 물려받아 부모 클래스에 기능을 확장하는 것 슈퍼 클래스(super class): 부모 클래스 서브 클래스(sub class): 자식 클래스 : 상속은 슈퍼클래스에 만들어진 필드와 메소드를 물려받음으로써 코드의 중복 작성을 방지하고, 코드를 재사용함으로써 코드 작성에 드는 시간.. 2024. 1. 4.
[자프실] 3. 반복문과 배열 그리고 예외 처리 3.1 반복문 for문 // 예제 3-1 public class forSample { public static void main(String[] args) { int i; int sum = 0; for(i=1;i 2024. 1. 2.
[자프실] 2. 자바 기본 프로그래밍 2.1 자바 프로그램의 구조 public class Hellojava { public static int sum(int n, int m) { return n+m; } // main() 메소드에서 실행 시작 public static void main(String[] args) { int i=20; int s; char a; s = sum(i, 10); a='?'; System.out.println(a); // 문자 ? 출력 System.out.println("Hello"); // Hello 출력 System.out.println(s); } } 2.2 식별자 : 클래스, 변수, 상수, 메소드 등에 붙이는 이름 2.3 자바의 데이터 타입 자바의 기본 타입 문자열 String 클래스 + 연산으로 문자열을 연결한.. 2023. 12. 28.
자바에서 상수 키워드 final을 사용하는 이유: constant folding final double PI = 3.14; 불변성(immutability): 'final' 키워드를 사용하면 변수에 할당된 값이 변경되지 않도록 보장된다. 이는 프로그램의 예측 가능성을 높이고 버그를 줄이는데 도움이 된다. 가독성 및 이해도 향상: 'final' 키워드를 사용하면 해당 변수가 상수임을 명시적으로 나타낼 수 있다. 최적화: 컴파일러는 'final' 키워드를 통해 변수가 상수임을 알게 되면, 해당 변수를 컴파일 시간에 상수 폴딩(constant folding)을 수행할 수 있다. 컴파일 타임 에러 방지: 'final' 키워드를 사용하면 변수를 선언과 동시에 초기화해야 하므로, 컴파일 타임에 누락된 초기화나 잘못된 값 할당을 방지할 수 있다. 상수 폴딩(constant folding) : 컴파.. 2023. 12. 28.