Java 77

[Java] 로또 번호 추첨기 - 볼 이미지 부착 (ActionListener, ImageIcon, Random, Multi Thread 등 활용)

​1. 그림과 같이 만든다. ​ 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 package day18quiz; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import j..

Java 2023.03.28

[Java] Thread 스레드 / Multi Thread

[ Thread ] - Thread : 하나의 프로그램에서 실행되는 흐름의 단위 - Multi thread : 동시에 스레드를 진행할 수 있는 것 (ex. 카톡 : 채팅하다가 파일을 전송 가능) > 자바는 멀티태스크, 멀티 스레드 환경을 지원 * Multi Thread 구현 방법 1. Thread 클래스 상속 2. Runnable 인터페이스 구현 : run() override 3. start() 실행 - Thread 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 31 32 33 34 35 36 37 package day18; // CPU, RAM // 컴퓨터가 느린 것 같아 // 1. CPU : 2개 이상 ..

Java 2023.03.27

[Java] Exception ( Error, Exception, 예외 처리, 예외 전가)

* 에러의 종류(Error / Exception) 1. Error : 치명적 오류 2. Exception : 가벼운 오류 1) 예외 처리 : try, catch (+finally) 2) 예외 전가 : throws > 메서드를 사용하는 사람이 자신의 환경에 맞게 이 예외를 처리하도록 예외를 전가 시키는 방법 * 예외의 종류 - nullpoint exeption / ArithmeticException / NumberFormatException / InterruptedException / ... > Exception e : 항상 마지막에 놓고 사용한다. 모든 예외가 여기서 다 걸리기 때문에 모든 예외를 받아줄 존재 - PrintStrackTrace : 어떤 예외인지 출력 1 2 3 4..

Java 2023.03.27

[Java] JFrame - Swing (이미지 아이콘, 메모장, 채팅)

* JFrame - AWT ==> SWING J (경량 컴포넌트) - Frame ==> 확장 : Frame에서 더 확장된 'JFrame' 사용 * Swing에서 윈도우 창 종료하는 방법 setDefaultCloseOperation(EXIT_ON_CLOSE); [ 응용 ] * 이미지 아이콘 > ImageIcon, JButon, JFrame 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 31 32 33 34 35 package day17; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; //..

Java 2023.03.24

[Java] Generic (미지수 T) + settergetter 설정, 향상된 for문

[ Generic ] * Generic : 데이터 형식에 의존하지 않고 하나의 값이 여러 다른 데이터 타입들을 가질 수 있는 기술에 중점을 두어 재상용을 높일 수 있는 프로그래밍 방식 > 아직 자료형을 결정하지 않고 미완성 자료형으로 선언 => 모든 자료형에 대해서 처리 * GenEx - : element를 포함하는 컴포넌트, 미지수 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 31 32 package day17; // 모든 자료형에 대해서 처리 // 아직 자료형을 결정하지 않고 미완성 자료형으로 선언 // Generic : 데이터 형식에 의존하지 않고 하나의 값이 // 여러 다른 데이터 타입들을 가질 수..

Java 2023.03.24

[Java] Wrapper Class / String 클래스 전용 <String>

* Wrapper Class : primitive type의 변수 ==> 객체로 전환하기 위한 클래스 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 package day16; public class WrapperClass { public static void main(String[] args) { // 자바는 객체 지향 언어 ==> 모든 것을 개체로 처리 // OOP int a = 10; // 객체가 아니다. // Wrapper Class // primitive t..

Java 2023.03.23

Java Collection Framework (JCF) / Collection (List - ArrayList, Vector, Stack / Set / Map)

* Java Collection Framework(JCF) : 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것 * Collection - List : 순서가 존재, 중복 가능 - Set : 순서가 X, 중복 X - Map : key value 매핑, key는 유니크한 값, value : 중복 가능 [ List ] > ArrayList : 비동기화, java에서 벡터보다 속도가 빠름, Object에 담고 한계가 없음 > Vector : 동기화, 성장형 Object 배열을 구현해놓은 클래스로 데이터 크기 증가가능, 기본적으로 비어있는 10칸짜리 > Stack : 선입후출(Fir..

Java 2023.03.23

[Java] java.util 클래스 (java.util.Calendar)

[ java.util 클래스 ] * java.lang.Math - public final class Math : 'final'은 상속이 안되는 클래스 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package day16; import java.util.Random; public class UtilEx1 { public static void main(String[] args) { // java.lang.Math // public final class Math : 'final'은 상속이 안되는 클래스 System.out.println(Math.random()); Random rnd = new Random(); for(int i=0; i getYear(), get..

Java 2023.03.23

[Java] 윈도우 창 만들기 <응용> - 로봇 움직이기

Q01 package day15; // 로봇 import java.awt.Button; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class Day15Q004 extends Frame{ Button btnhead, btnarml, btnarmr, btnlegl, btnlegr, btnbody; Day15Q004() { // 배치 관리자 사용 안함 setLayout(null); // 컴포넌트 초기화 btnhead = new Button("^^"); btnarml = new Button(); btnarmr = new Button(); btnlegl = new Button..

Java 2023.03.22