Java 164

2024.05.02 자료구조(Data Structure) 자료구조 개론 - 1

학습 목표 1. 자료구조란 무엇인가? (Data Structure)2. 자료구조의 유형 자료구조란 무엇인가? (Data Structure)자바에서 자료구조는 데이터를 효율적으로 구성하고 조작하기 위한 방법을 제공하는 클래스와 인터페이스의 모음입니다. 이러한 자료구조는 다양한 요구 사항에 맞게 설계되어 있으며, 데이터를 삽입, 삭제, 검색, 정렬 등의 작업을 효율적으로수행할 수 있도록 지원합니다. 자바에서 제공하는 자료구조에는 배열, 리스트, 스택, 큐, 집합, 맵 등이 포함됩니다.이러한 자료구조는 다양한 상황에서 사용될 수 있으며, 프로그램의 성능과 효율성을 향상시키는 데 중요한 역할을 합니다. 또한 자바 컬렉션 프레임워크(Collection Framework)는 다양한 자료구조를 표준화하여 제공하여,개..

Java 2024.05.02

2024.05.01 JAVA 유용한 클래스 자바 multi-threading 이란

학습 목표 1. 자바에서 멀티 스레딩(Multi-threading)에 대해 알아 보자. 2. 멀티 Thread 프로그래밍에서의 동기화란? 자바에서 멀티 스레딩(Multi-threading)에 대해 알아 보자.자바에서 멀티 스레딩(Multi-threading)은 프로그램의 여러 부분이 동시에 실행되도록 하는 기술입니다. 이를 통해 자원의 효율적 사용과 응용 프로그램의 반응성 향상을 달성할 수 있습니다. 멀티 스레딩은 하나의 프로세스 내에서 여러 개의 스레드를 생성하여 각 스레드가 작업을 수행하도록 함으로써 병렬 처리를 가능하게 합니다. 정리여러 thread가 동시에 수행되는 프로그래밍, 여러 작업이 동시에 실행되는 효과thread는 각각 자신만의 작업 공간을 가짐 ( call Stack )각 thread ..

Java 2024.05.01

2024.05.01 JAVA 유용한 클래스 자바 Thread

학습 목표 1. 쓰레드(Thread)란 뭘까? 2. 쓰레드를 추가로 만들어서 사용하는 방법을 알아 보자. 3. 쓰레드의 실행시 쓰레드 상태라는 개념을 알아 보자.  쓰레드(Thread)란 뭘까? Thread 란?process란? 저장되어 있는 프로그램이 실행되면 OS로 부터 메모리를 할당받아 프로세스 상태가 된다.하나의 프로세스는 하나 이상의 thread를 가지게 되고, 실제 작업을 수행하는 단위는 thread이다.  쓰레드를 추가로 만들어서 사용하는 방법을 알아 보자.1. 첫번째 방법은 Thread 클래스 상속하여 만들 수 있습니다.package useful.ch05;/* * 쓰레드를 추가하는 방법 * 상속을 활용할 수 있다. extends * Thread --> Runnable --> run(..

Java 2024.05.01

2024.04.30 Swing - 6 (Key Listener)

기본 코드 작성package ch06;import java.awt.BorderLayout;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.JFrame;import javax.swing.JTextArea;/** * 키 이벤트 리스너 사용해보기 */public class MyKeyEvent extends JFrame implements KeyListener { private JTextArea textArea; private final int UP = 38; // 상수를 사용할 수 있다. public MyKeyEvent() { initData(); setInitLayout(); addEventListen..

Java 2024.04.30

2024.04.30 JAVA 유용한 클래스 디자인 패턴 템플릿 메서드 패턴

추상 메서드나 구현 된 메서드를 활용하여 코드의 흐름(시나리오)를 정의하는 패턴을 말한다. 템플릿 메서드 패턴  package useful.ch04;public abstract class Car { void startCart() { System.out.println("시동을 켭니다."); } abstract void drive(); abstract void stop(); void turnOff() { System.out.println("시동을 끈다."); } // 템플릿 메서드 패턴에 핵심 !! // 메서드 앞에 final 키워드를 사용하면 : 하위 클래스에서 재정의 할 수 없다. final void run() { // 실행의 흐름 만들어 보기 startCart(); drive(); ..

Java 2024.04.30

2024.04.30 JAVA 유용한 클래스 디자인 패턴 싱글톤 패턴

시스템 에러 (JVM)예외 (Exception) - 최상위 클래스예외 - 컴파일, 런타임예외 - try -catch -finally Swing이벤트 리스너 싱글톤 패턴 package useful.ch04;/* * 디자인 패턴 살펴 보기 * - 싱글톤 패턴이 뭘까? * * 1. 생성자를 private 으로 만든다. * 2. static 변수를 활용해서 내부에서 객체를 생성하고 주소값을 할당한다. * 3. 외부에서 유일하게 참조할수 있는 public 메서드를 제공한다. */public class Company { // 2. static 변수 활용 데이터 타입 선언 private static Company company; // 1. 생성자에 접근제어 지시자를 private 으로 변경하면 // 외부에서 기본 ..

Java 2024.04.30

2024.04.29 Swing - 4 (이미지 겹치는 방법)

JLable 을 이용한 이미를 다루는 방법이미지 다운로드이미지 폴더 만들기 package ch04;import javax.swing.Icon;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;public class MyFrame extends JFrame { private JLabel backgroundMap; public MyFrame() { initData(); setInitLayout(); } private void initData() { setTitle("JLabel을 이용한 이미지 사용 연습"); setSize(500, 500); setDefaultCloseOperation(JFrame.EXI..

Java 2024.04.29