본문 바로가기

Programming/Java프로그래밍및실습12

[자프실] 12. 자바 스레드 기초 12.1 멀티태스킹 멀티태스킹이란? : 다수의 작업을 동시에 처리하는 것 멀티태스킹 프로그램 사례 : 하나의 프로그램이 하나의 작업(태스크)만 하는 경우가 대부분이지만, 하나의 프로그램이 여러 작업(태스크)을 동시에 실행하는 경우가 있다. 스레드와 운영체제 스레드(thread): 운영체제에 의해 관리되는 하나의 태스크 멀티스레딩(multi-threading): 다수의 스레드를 동시에 실행시키도록 응용프로그램을 작성하는 기법 멀티태스킹과 멀티스레딩 멀티프로세싱(multi-processing): 하나의 응용프로그램을 여러 개의 프로세스(process)로 구성하여 각 프로세스가 하나의 작업(태스크)을 처리하도록 하는 기법 자바 스레드와 JVM 자바 스레드(java thread) 자바 가상기계(JVM: Java.. 2024. 1. 15.
[자프실] 11. 그래픽 11.1 스윙 컴포넌트 그리기 컴포넌트는 자신의 모양을 스스로 그린다 paintComponent() : 스윙 컴포넌트가 자신의 모양을 그리는 메소드 public void paintComponent(Graphics g) paintComponent()의 오버라이딩 : 개발자가 JComponent를 상속받아 새로운 컴포넌트를 설계하든지 아니면 기존의 스윙 컴포넌트 모양에 변화를 주고자 할 때 JPanel에 그리기 JPanel: 아무 모양도 없는 텅 빈 컴포넌트이면서 컨테이너 /* * JPanel을 상속받은 패널에 도형 그리기 */ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class paintJPanelEx extends .. 2024. 1. 15.
[자프실] 10. 스윙 컴포넌트 활용 10.1 스윙 컴포넌트 소개 컴포넌트 기반 GUI 프로그래밍 ▶ 자바 GUI 프로그래밍: 컴포넌트 기반 GUI 프로그래밍: 스윙 컴포넌트를 이용하여 쉽게 GUI 구축 그래픽 기반 GUI 프로그래밍: 그래픽을 이용하여 GUI 구축 스윙 컴포넌트의 상속 구조 ▶ JComponent : 스윙 컴포넌트는 JComponent를 상속받는다. /* * 예제10-1: 스윙 컴포넌트의 공통 기능, JComponent의 메소드 */ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class JComponentEx extends JFrame { public JComponentEx() { setTitle("JComponent의 공통 메소드 예제.. 2024. 1. 13.
[자프실] 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.