Java 164

2024.05.07 자료구조(Data Structure) 큐(Queue) 구현하기

학습 목표 1. Queue 에 대한 개념을 알아 보자. 2. 배열을 활용한 큐(Queue) 구현하기 3. 배열을 활용한 큐를 순환 구조로 수정해 보기 Queue 에 대한 개념을 알아 보자.큐 Queue는 데이터를 저장하는 선형 자료구조로, 차례를 기다리는 줄이라는 의미를 가지고 있는 단어처럼 먼저 들어온 자료부터 순서대로 처리하는 방식을 말한다.한 쪽 끝에서는 자료의 삽입 연산만 가능하고 반대쪽 끝에서는 삭제만 가능한 구조로서 선입선출(FIFO : First In First Out)의 특징을 가진다.  Queue의 특징맨 앞(front) 에서 자료를 꺼내거나 삭제하고, 맨 뒤(rear)에서 자료를 추가 함Fist In First Out (선입선출) 구조일상 생활에서 일렬로 줄 서 있는 모양순차적으로 입력..

Java 2024.05.07

2024.05.03 Swing 프로젝트 bubble - 7 (버블 동작 처리)

package bubble.test.ex07;public interface Moveable { // public abstract 생략 가능 public abstract void left(); public abstract void right(); public abstract void up(); // 인터페이스 추가 기능 default 사용해보기 // 인터페이스의 모든 메서드는 추상 메서드이어야 한다. // 단 default 메서드를 제외하고 // public abstract void down(); default void down() {}; // 마지막에 default는 세미콜론 추가 해야 한다. // default로 지정하면 오버라이딩 하는 메서드를 삭제해도 문제가 되지 않는다. } package ..

Java 2024.05.03

2024.05.03 Swing 프로젝트 bubble - 6 (바닥 층 감지 기능 추가)

기본 코드 - 추후 수정  package bubble.test.ex06;import java.awt.Color;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;/** * 현재 메인 쓰레드는 너~무 빠쁨 백그라운드에서 계속 Player 에 움직임을 관찰할 예정 */public class BackgroundPlayerService implements Runnable { private BufferedImage image; private Player player; // 생성자 의존 주입 DI public BackgroundPlayerService(Player p..

Java 2024.05.03

2024.05.03 Swing 프로젝트 bubble - 5 (물방울 생성)

package bubble.test.ex05;import javax.swing.ImageIcon;import javax.swing.JLabel;public class Bubble extends JLabel { private Player player; // 포함관계 private int x; private int y; // 움직임 상태 private boolean left; private boolean right; private boolean up; // 적군을 맞춘 상태 private int state; // 0번은 (기본 물방울), 1번은 (적을 가둔 상태 물방울) private ImageIcon bubble; // 기본 물방울 private ImageIcon bubbled; // 적을 가둔 물방울 p..

Java 2024.05.03

2024.05.03 자료구조(Data Structure) 배열을 활용한 Stack 구현해보기

학습 목표 1. Stack 에 대한 기본적인 개념을 살펴 보자.2. 배열을 활용한 Stack 구현하기Stack 에 대한 기본적인 개념을 살펴 보자.스택(Stack)은 데이터를 일시적으로 저장하기 위한 선형 자료구조로, "후입선출"(Last In, First Out; LIFO) 원칙을 따릅니다. 이 원칙은 가장 마지막에 추가된 요소가 가장 먼저 제거된다는 것을 의미합니다. 스택을 일상생활의 예로 설명하면, 식당에서 사용된 접시를 쌓아 두었다가 사용할 때 가장 위에 있는 접시부터 꺼내는 것과 비슷합니다.  스택의 주요 연산Push: 스택에 요소를 추가하는 연산입니다. 스택의 맨 위에 새로운 요소를 놓습니다.Pop: 스택에서 요소를 제거하는 연산입니다. 스택의 맨 위에 있는 요소를 꺼내며, 그 요소는 스택에서..

Java 2024.05.03

2024.05.02 자료구조(Data Structure) Java 배열을 활용한 객체 만들기

학습 목표 1. 배열에 대한 기본 개념 복습 2. 배열을 활용한 객체를 만들어 보자.  배열에 대한 기본 개념 복습 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조정해진 크기가 있음(배열)요소의 추가와 제거시 다른 요소들의 이동이 필요함배열의 i 번째 요소를 찾는 인덱스 연산이 빠름jdk 클래스 : ArrayList, Vectorpackage structure;/* * 배열을 활용한 클래스를 설계 * 물론 --> 이미 자바 표준 API 개발자들이 * 잘 만들어 준 클래스 들이 존재한다. * 하지만 직접 기능을 확장해서 만들어 보자. */public class TencointArray { int[] intArr; // 배열 int count; // 배열안에 들어간 요소의 갯수 public fi..

Java 2024.05.02