| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 생성자
- OPP개념
- for문
- function
- 집합관계
- JAVA기초
- multi-threading
- IntelliJ IDEA
- 형 변환
- While
- this예약어
- 시스템 환경 변수 편집
- 인텔리제이 한글 깨짐 해결법
- 상수
- 메서드 오버로딩
- 연관관계
- Java
- 메서드
- java변수
- Java데이터 타입
- 컴파일
- Thread
- 자바 멀티스레딩
- 반복문
- continue문
- 인텔리제이 기초 설정
- 접근제어지시자
- 포함관계
- JAVA객체지향
- break문
- Today
- Total
목록Java (85)
최원종의 개발 블로그
https://youtu.be/nd7GzrNLUwg 코드package innerclass.swing.ch10;import javax.swing.*;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;/** * 플레이어 이동 + 적군 자동이동(Thread 활용) * Thread : 적군을 백그라운드에서 자동으로 움직이게 하는 별도 작업자 * Runnable : Thread가 실행할 작업을 정의하는 인터페이스 *///과제 이미지 이동시 왼쪽으로 가면 왼쪽 이미지 오른쪽으로 가면 오른쪽 이미지로 배치public class MyFrame3 extends JFrame { //-- 배경 & 플레이어 ---------------- priva..
-이미지 겹치기코드package swing.ch09;import javax.swing.*;public class MyFrame extends JFrame { private JLabel backgroundMap; private JLabel player; public MyFrame() { initData(); setInitLayout(); addEventListener(); } private void initData() { setTitle("이미지 사용 연습"); setSize(1000, 600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 배경 ..
KeyListener 개념사용자가 키보드를 조작할 때 발생하는 이벤트를 감지하는 리스너.텍스트 입력 창에서 글자 수를 제한하거나, 게임에서 캐릭터를 움직일 때 필수적으로 사용. KeyListener 3가지 규칙(추상 메서드)keyPressed(KeyEvent e): 키가 눌렸을 때(꾹 누르고 있으면 계속 호출 -> 게임 이동에 적합)keyReleasd (KeyEvent e):키에서 손을 뗐을 때(타이핑 검증에 적합)keyTyped(KeyEvent e): 문자가 입력되었을 때 (화살표, F1등 특수키는 무시됨)코드package swing.ch08;import javax.swing.*;import java.awt.*;import java.awt.event.KeyEvent;import java.awt.eve..
이벤트 리스너(Event Listener)리스너는 사용자의 동작(Event)을 기다리고 있다가, 동작이 발생하면 정해진 약속(Method)을 실행하는 감시자. 이벤트 처리의 3요소이벤트 소스 (Event Source): 이벤트가 발생하는 대상입니다. (예: button1, button2)이벤트 객체 (Event Object): 발생한 이벤트에 대한 정보를 담고 있는 객체입니다. (예: ActionEvent e) 어떤 버튼이 눌렸는지, 언제 눌렸는지 등의 정보가 들어있습니다.이벤트 리스너 (Event Listener): 이벤트를 감지하고 처리하는 객체입니다. (예: ActionListener를 구현한 this 즉, ColorChange 객체)버튼 누르면 색 바뀌는 코드package innerclass.sw..
자바에서 멀티 스레딩은 프로그램의 여러 부분이 동시에 실행되도록 하는 기술.자원의 효율적 사용과 응용 프로그램의 반응성 향상을 달성 가능멀티 스레딩은 하나의 프로세스 내에서 여러 개의 스레드를 생성하여 각 스레드가 작업을수행하도록 함으로써 병렬 처리를 가능하게 함.멀티스레딩(Multi - threading)여러 thread가 동시에 수행되는 프로그래밍, 여러 작업이 동시에 실행되는 효과thread는 각각 자신만의 작업 공간을 가짐(call Stack)각 thread사이에서 공유하는 자원이 있을 수 있음(자바에서는 static instance)여러 thread가 자원을 공유하여 작업이 수행되는 경우서로 자원을 차지하려는 race condition이 발생가능여러 thread가 공유하는 자원 중 경쟁이 발생하..
내부 클래스 (inner class)자바에서 내부 클래스는 한 클래스 내부에 선언된 클래스를 말함.내부 클래스를 선언하게 되면 내부 클래스와 외부 클래스라고 표현 가능내부 클래스는 보통 외부 클래스와 연관이 있는 경우가 많고,다른 곳에서 거의 사용할 일이 없는 경우에 내부 클래스를 선언해서 활용.코드package innerclass;public class OuterClass1 { private int num = 10; // 클래스 파일안에 내부에 또 클래스 선언 (중첩클래스) // 인스턴스 내부 클래스 class InnerClass { public void display() { System.out.println("num : " + num); }..
Thread : 하나의 프로세스는 하나 이상의 thread를 가지게 되며, thread는 자바에서 실제 작업을 수행하는 단위이다.process란 실행 중인 프로그램이 실행되면 OS로부터 메모리를 할당받아 프로세스 상태가 된다process는 실행 중인 프로그램 자체 (ex: 크롬 하나 실행, 카카오톡 하나 실행)Thread는 그 프로세스 안에서 실제 일을 하는 실행 흐름 (ex: 크롬 안에서 입력 처리, 동영상 재생, 네트워크 통신 등등)프로세스 = 큰 작업 공간스레드 = 그 안에서 일하는 작업자 run()과 start() 차이run()그냥 메서드 호출새 스레드가 안 만들어짐.start()운영체제에게 새 스레드를 실행하라고 요청함.그러면 새 스레드가 만들어지고 그 안에서 run()이 실행.Thread 상..
예외 처리(Exception Handling)는 프로그램 실행 중 발생할 수 있는 예상치 못한 상황(예외)을 관리하는 방법.프로그램의 비정상 종료를 방지하고, 안정성과 신뢰성을 높임. 예외 처리 구문try, catch, finally, throws, throw키워드를 사용해 예외 처리. try-catch 문 try { // 예외가 발생할 수 있는 코드} catch (ExceptionType1 e) { // ExceptionType1 예외를 처리하는 코드} catch (ExceptionType2 e) { // ExceptionType2 예외를 처리하는 코드} try-catch-finally 문 try { // 예외가 발생할 수 있는 코드} catch (Exception e) ..
String 클래스String 클래스는 자바에서 문자열을 표현하는 데 사용.String은 불변 객체로, 한 번 생성된 문자열은 변경할 수 없다. String 선언 방식String 객체는 두 가지 방식으로 생성할 수 있다.리터럴 방식: String str1 = "Hello"; (문자열 리터럴은 String Constant Pool에 저장되어 재사용됩니다.)new 연산자 사용: String str2 = new String("Hello"); (힙 메모리에 새로운 객체를 생성하며, String Constant Pool과는 별개로 동작한다 String Constant PoolString Constant Pool은 JVM의 힙 메모리 내에 존재하는 특별한 영역으로, 문자열 리터럴을 저장하고 재사용하여 메모리 효율성..
실습 코드package com.tenco.swing.ch05;import javax.swing.*;import java.awt.*;public class MyPanel extends JFrame { private JButton button1; private JButton button2; private JButton button3; private JButton button4; // 패널 - 컴포넌트들을 그룹화 시킬 수 있다( 즉 각 패널마다 레이아웃 다르게 설정 가능) private JPanel panel1; private JPanel panel2; public MyPanel() { setTitle("패널 만들어 보기"); setSize(..
