Java

💡 학습 목표내부 클래스란? (inner class)내부 클래스의 종류 1. 내부 클래스란? (inner class)자바에서 내부 클래스(Inner Class)는 한 클래스 내부에 선언된 클래스를 말합니다. 내부 클래스를 선언하게 되면 내부 클래스와 외부 클래스라고 표현할 수 있습니다. 내부 클래스는 보통 외부 클래스와 연관이 있는 경우가 많고 다른 곳에서 거의 사용할 일이 없는 경우에 내부 클래스를 선언해서 활용을 합니다. class OuterClass { private int num = 10; class InnerClass { public void display() { System.out.println("num: " + num); } ..
💡 학습 목표스레드 동기화 이해: synchronized 블록을 사용하여 여러 스레드가 공유 자원에 동시에 액세스하지 않도록 관리합니다. 이는 데이터 일관성과 스레드 안전을 유지하는 핵심 개념입니다.wait()와 notify() 메소드의 사용: 이 두 메소드를 사용하여 스레드 간의 통신을 구현합니다. wait()를 호출하는 스레드는 특정 조건이 충족될 때까지 대기하고, notify()를 사용하여 조건 충족 시 다른 스레드를 깨워 작업을 계속하도록 합니다.프로듀서-컨슈머 패턴: 이 패턴은 멀티스레딩 디자인에서 흔히 사용되는 패턴으로, 한 스레드(프로듀서)가 데이터를 생성하고 다른 스레드(컨슈머)가 이를 소비합니다.  프로듀서와 컨슈머 패턴으로 코딩해보기  package basic.useful.ch06;i..
· Java/Swing
package ch08;import java.awt.Graphics;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import javax.swing.JFrame;import javax.swing.JPanel;public class GameFrame extends JFrame { BufferedImage backgroundImage; BufferedImage player1; BufferedImage enemy1; ImagePanel imag..
💡 학습 목표자바에서 멀티 스레딩(Multi-threading)에 대해 알아 보자.멀티 Thread 프로그래밍에서의 동기화란? 1. 자바에서 멀티 스레딩(Multi-threading)에 대해 알아 보자.자바에서 멀티 스레딩(Multi-threading)은 프로그램의 여러 부분이 동시에 실행되도록 하는 기술입니다. 이를 통해 자원의 효율적 사용과 응용 프로그램의 반응성 향상을 달성할 수 있습니다. 멀티 스레딩은 하나의 프로세스 내에서 여러 개의 스레드를 생성하여 각 스레드가 작업을 수행하도록 함으로써 병렬 처리를 가능하게 합니다. 정리여러 thread가 동시에 수행되는 프로그래밍, 여러 작업이 동시에 실행되는 효과thread는 각각 자신만의 작업 공간을 가짐 ( call Stack )각 thread 사이..
💡 학습 목표쓰레드(Thread)란 뭘까?쓰레드를 추가로 만들어서 사용하는 방법을 알아 보자.쓰레드의 실행시 쓰레드 상태라는 개념을 알아 보자.  1. 쓰레드(Thread)란 뭘까? Thread 란?process란? 저장되어 있는 프로그램이 실행되면 OS로 부터 메모리를 할당받아 프로세스 상태가 된다.하나의 프로세스는 하나 이상의 thread를 가지게 되고, 실제 작업을 수행하는 단위는 thread이다.   2. 쓰레드를 추가로 만들어서 사용하는 방법을 알아 보자.1. 첫번째 방법은 Thread 클래스 상속하여 만들 수 있습니다. package useful.ch05;/** * 쓰레드를 추가하는 방법 - 상속을 활용할 수 있다. * Thread --> Runnable --> run() */public..
· Java/Swing
기본 프레임 설정package ch07;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;public class LottoFrame extends JFrame implements ActionListener { private JButton button; public LottoFrame() { initData(); setInitLayout(); addEventListener(); } private void initData() { setTitle("Lotto Game"); se..
· Java/Swing
시나리오 코드 1 package ch06;import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JTextArea;/** * 키 이벤트 리스너 사용해보기 */public class MyKeyEvent extends JFrame { private JTextArea textArea; public MyKeyEvent() { initData(); setInitLayout(); addEventListener(); } private void initData() { setSize(500, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setResizable(false); //..
· Java/Swing
package ch05;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;// 이벤트 리스너를 사용하는 방법// 1. implements ActionListener 사용 하는 방법 // ActionListener --> 운영 체제가 제어하는 이벤트를 등록할 수 있다. public class ColorChangeFrame extends JFrame implements ActionListener { // 이벤트 리스너에 대한 개념을 이해하자. priv..
· Java/Swing
💡 JLable 을 이용한 이미를 다루는 방법 package ch04;import javax.swing.Icon;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;/** * JLabel을 이용해서 이미지를 다룰 수 있다. * Jlabel.add(); 메서드를 통해서 이미지를 겹칠 수 있다 * 좌표 기준으로 이미지를 셋팅을 할려면 * 배치 관리자를 null 값으로 세팅해야 한다. */public class MyFrame extends JFrame { private JLabel backgroundMap; private JLabel player; public MyFrame() { initData(); setIn..
· Java/Swing
이미지 위치 확인 기본코드 확인package ch03;import java.awt.Graphics;import java.awt.Image;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JPanel;/** * 중첩 클래스 --> 외부,내부 클래스로 * 내부 클래스로 --> 인스턴스 클래스 , static 클래스 */public class MyImageFrame extends JFrame { // 내부 클래스로 정의한 데이터 타입 이다. private MyImagePanel myImagePanel; public MyImageFrame() { initData(); setInitLayo..
CNOW
'Java' 카테고리의 글 목록 (4 Page)