전체 글

노력하는 코딩 농부
package bubble.test.ex02;import javax.swing.ImageIcon;import javax.swing.JLabel;public class Player extends JLabel implements Moveable { private int x; private int y; private ImageIcon playerR, playerL; // 움직임의 상태 private boolean left; private boolean right; private boolean up; private boolean down; // 플레이어 속도 상태 private final int SPEED = 4; private final int JUMPSPEED = 2; // setter pu..
package bubble.test.ex01;public interface Moveable { // public abstract 생략 가능 public abstract void left(); public abstract void right(); public abstract void up(); public abstract void down(); } package bubble.test.ex01;import javax.swing.ImageIcon;import javax.swing.JLabel;public class Player extends JLabel implements Moveable { private int x; private int y; private ImageIcon playerR, playe..
💡 학습 목표Stack 에 대한 기본적인 개념을 살펴 보자.배열을 활용한 Stack 구현하기1. Stack 에 대한 기본적인 개념을 살펴 보자스택(Stack)은 데이터를 일시적으로 저장하기 위한 선형 자료구조로, "후입선출"(Last In, First Out; LIFO) 원칙을 따릅니다. 이 원칙은 가장 마지막에 추가된 요소가 가장 먼저 제거된다는 것을 의미합니다. 스택을 일상생활의 예로 설명하면, 식당에서 사용된 접시를 쌓아 두었다가 사용할 때 가장 위에 있는 접시부터 꺼내는 것과 비슷합니다.  스택의 주요 연산Push: 스택에 요소를 추가하는 연산입니다. 스택의 맨 위에 새로운 요소를 놓습니다.Pop: 스택에서 요소를 제거하는 연산입니다. 스택의 맨 위에 있는 요소를 꺼내며, 그 요소는 스택에서 삭..
· 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..
💡 학습 목표배열에 대한 기본 개념 복습배열을 활용한 객체를 만들어 보자. 1. 배열에 대한 기본 개념 복습동일한 데이터 타입을 순서에 따라 관리하는 자료 구조정해진 크기가 있음(배열)요소의 추가와 제거시 다른 요소들의 이동이 필요함배열의 i 번째 요소를 찾는 인덱스 연산이 빠름jdk 클래스 : ArrayList, Vectorpackage structure;/** * 배열을 활용 클래스를 설계 물론 --> 이미 자바 표준 API 개발자들이 잘 만들어 준 클래스 들이 존재한다. 하지만 직접 기능을 확장해서 * 만들어보자 */public class TencoIntArray { int[] intArr; int count; // 배열안에 들어간 요소의 갯수 public final int ARRAY_SIZE; ..
💡 학습 목표자료구조란 무엇인가? (Data Structure)자료구조의 유형1. 자료구조란 무엇인가? (Data Structure)자바에서 자료구조는 데이터를 효율적으로 구성하고 조작하기 위한 방법을 제공하는 클래스와 인터페이스의 모음입니다. 이러한 자료구조는 다양한 요구 사항에 맞게 설계되어 있으며, 데이터를 삽입, 삭제, 검색, 정렬 등의 작업을 효율적으로 수행할 수 있도록 지원합니다. 자바에서 제공하는 자료구조에는 배열, 리스트, 스택, 큐, 집합, 맵 등이 포함됩니다. 이러한 자료구조는 다양한 상황에서 사용될 수 있으며, 프로그램의 성능과 효율성을 향상시키는 데 중요한 역할을 합니다. 또한 자바 컬렉션 프레임워크(Collection Framework)는 다양한 자료구조를 표준화하여 제공하여, ..
💡 학습 목표자바에서 멀티 스레딩(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); //..
CNOW
코린이의 전원일기