Java42 [Java] awt 테트리스 모듈화 - SquareBoard 저번 글 1: https://stickode.tistory.com/822 저번 글 2: https://stickode.tistory.com/835 저번 글 3: https://stickode.tistory.com/852 저번 글 4: https://stickode.tistory.com/866 저번 글 5: https://stickode.tistory.com/875 안녕하세요. 저번 시간에 이어서, 오늘은 SquareBoard 코드에 대한 설명을 업로드하겠습니다. 주석으로 설명을 달아두었습니다. import javax.swing.*; import java.awt.*; import java.util.Hashtable; /** * 테트리스 스퀘어 보드입니다. 보드는 직사각형이며, 색상으로 구성된 격자를 포함합.. 2023. 8. 16. [Java] awt 테트리스 모듈화 - Game 저번 글 1: https://stickode.tistory.com/822 저번 글 2: https://stickode.tistory.com/835 저번 글 3: https://stickode.tistory.com/852 저번 글 4: https://stickode.tistory.com/866 안녕하세요. 저번 시간에 이어서, 오늘은 Game 코드에 대한 설명을 업로드하겠습니다. 주석으로 설명을 달아두었습니다. import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport;.. 2023. 7. 26. [Java] Thread와 Swing으로 디지털 시계 만들기 안녕하세요! 오늘은 Java에서 Swing과 Thread를 이용해 디지털 시계를 구현해보겠습니다. 우선 Thread 와 Swing에 대해 설명하겠습니다. Thread란? 우선 예시를 들어 설명하면 한 사람이 음악을 들으며 책을 읽는 상황이라고 가정할 때 음악 듣기와 책을 읽는 것은 동시에 진행되는 별개의 작업이라고 할 수 있습니다. 이때 음악 듣기와 책 읽기를 각각 한명의 사람이 처리한다고 생각하면 쉽습니다. 자바의 스레드도 마찬가지입니다. 하나의 프로세스 안에서 여러 개의 스레드가 동시에 실행될 수 있습니다. 각 스레드는 독립적으로 작업을 수행하면서 프로세스의 자원을 공유합니다. 스레드는 동시에 처리되어야 하는 작업을 분리해 독립적으로 실행함으로써 프로그램의 호율성을 높이는 역할을 합니다. 또는 다양한.. 2023. 7. 16. [Java] awt 테트리스 모듈화 - Configuration 저번 글 1: https://stickode.tistory.com/822 저번 글 2: https://stickode.tistory.com/835 안녕하세요. 저번 시간에 이어서, 오늘은 Configuration코드에 대한 설명을 업로드하겠습니다. 주석으로 설명을 달아두었습니다. Configuration.java import java.awt.*; import java.util.Hashtable; /** * 프로그램 구성을 나타내는 클래스입니다. 이 클래스는 구성 매개변수의 읽기를 간소화하기 위한 정적 메서드를 제공합니다. * 또한 문자열 값을 더 유용한 객체로 변환하는 몇 가지 메서드를 제공합니다. * */ public class Configuration extends Object { /** * 내부 구.. 2023. 7. 2. [Java] awt 테트리스 - 실전편 저번 글 : https://stickode.tistory.com/822 안녕하세요. 저번 시간에 이어서, 오늘은 테트리스를 게임답게 만들어보겠습니다. 우선 모든 코드를 올려두고, 모듈화한 코드들을 설명하겠습니다. 총 5부에 걸쳐서 업로드 할 예정입니다. 각 모듈들(Configuration, Figure, Game, SquareBoard, ,,,)에 대한 설명은 각 게시물로 따로 올리도록 하겠습니다. 오늘 업로드된 코드들에는 모듈에 주석이 없습니다. 우선 디렉토리 구조는 다음과 같습니다. Tetris.java import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Container; import .. 2023. 6. 17. [Java] 스케줄링 라이브러리, Quartz 사용해 Hello world 출력해보기 Quartz는 Java 기반의 오픈 소스 스케줄러 라이브러리입니다. Quartz를 사용하여 Java 애플리케이션에서 스케줄링 작업을 예약할 수 있습니다. 아래는 Quartz를 사용하여 간단한 스케줄링 작업을 설정하는 Java 코드 예제입니다. 먼저, Quartz 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 아래의 의존성을 추가하면 됩니다. org.quartz-scheduler quartz 2.3.2 다음은 Quartz를 사용하여 10초마다 Hello World를 출력하는 Job을 스케줄링하는 예제입니다. import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; public class HelloWorl.. 2023. 6. 16. [JAVA]SHA-256 를 사용한 문자열 암호화(비밀번호 생성) 안녕하세요 이번시간에는 JAVA에서 SHA-256 함수를 사용해서 암호화를 해보겠습니다. SHA-256 알고리즘은 java.security.MessageDigest 클래스를 사용하여 구현할 수 있습니다. 먼저 getInstance("SHA-256") 메서드를 호출하여 SHA-256 알고리즘의 인스턴스를 생성한 다음, update() 메서드를 호출하여 입력 문자열의 바이트 배열을 업데이트합니다. 마지막으로 digest() 메서드를 호출하여 해시 값을 계산하고, 계산된 해시 값을 bytesToHex() 메서드를 사용하여 16진수 문자열로 변환하여 반환합니다. bytesToHex() 메서드는 바이트 배열의 각 바이트 값을 16진수 문자열로 변환하여 StringBuilder에 추가하고, StringBuilder.. 2023. 6. 5. [Java] awt 테트리스 - 기본편 오늘은 awt로 테트리스를 만들어보겠습니다. 이 예제는 프로그래밍을 막 시작한 초보 개발자를 대상으로 작성되었습니다. Java AWT (Abstract Window Toolkit)는 Java의 고전적인 그래픽 사용자 인터페이스(GUI) 라이브러리로, 창, 버튼, 라벨, 텍스트 필드 등의 기본적인 GUI 구성 요소를 제공합니다. 이 라이브러리를 사용하여 간단한 테트리스 게임을 구현해 보겠습니다. 이번 시간은 2x2 도형만 등장합니다. 여러 편에 나눠서 최종적으로 완성할 것이니, 이 점 감안해서 참고해주시기 바랍니다. AWT 개요 Java AWT는 다양한 플랫폼에서 일관된 사용자 인터페이스를 구현할 수 있도록 지원합니다. 출시한지 오래되었기 때문에 다른 라이브러리에 비하면 성능 및 사용성 면에서 한계가 있지.. 2023. 6. 3. [Java] 자바 추상 클래스(Abstract Class) 예제 추상클래스란? 추상클래스는 일반 클래스와 별 다를 것이 없습니다. 단지, 추상 메서드를 선언하여 상속을 통해서 자손 클래스에서 완성하도록 유도하는 클래스입니다. 그래서 미완성 설계도라고도 표현합니다. 상속을 위한 클래스이기 때문에 따로 객체를 생성할 수 없습니다. 또한 추상클래스를 상속해 생성된 자손 클래스는 상속받은 클래스의 메서드를 선언하지 않고선 사용할 수 없는 강제성을 띄게 되는데 이러한 특징을 잘 활용하면 코드를 작성하는 데 있어서 발생하는 실수를 줄여주고 유지와 보수적인 측면에서 조금 더 효율적으로 사용할 수 있습니다. 사용법 사용법은 생각보다 간단합니다. 클래스 앞에 abstract 키워드를 붙여 작성해주면 자연스럽게 추상클래스가 생성됩니다. 이후 필요한 추상메서드들을 추가해 주면 해당 추상.. 2023. 5. 1. 이전 1 2 3 4 5 다음