본문 바로가기

분류 전체보기322

JAVA Thread와 Runnable 의 차이 Thread와 Runnable은 Java에서 멀티스레드를 구현하기 위해 사용되는 클래스오 인터페이스이다. Thread는 클래스로 구현되어 있고 Runnable은 인터페이스로 구현되어 있다. Thread와 Runnable의 차이점과 특징을 알아보자. Runnable 인터페이스를 구현하는 방법은 재사용성이 높고 코드의 일관성을 유지 할수 있다는 장점이 있기 때문에 보다 객체지향적인 방법이라 할수 있다. Runnable은 익명 객체 및 람다로 사용할 수 있지만, Thread는 별도의 클래스를 만들어야 한다는 점에서 번거롭다. 또한 Java에서는 다중 상속이 불가능하므로 Thread 클래스를 상속받으면 다른 클래스를 상속받을 수 없어 좋지 않다. 그리고 Thread 클래스를 상속받으면 Thread 클래스에 구현.. 2023. 5. 11.
20230511 과제 20230511 내주신 과제 JTextField 와 JButton 을 배치해서 JTexField에 문자열을 입력하고 저장 버튼을 누르면 입력한 문자열이 diary.txt파일에 누적 기록이 되도록 프로그래밍 해 보세요. package test; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class Test1 extends JFrame implements ActionListener { JTextField.. 2023. 5. 11.
20230511 수업내용🤦‍♂️🤦‍♂️ canvas 요소 활용해 보기 잡은 토끼의 갯수 : 초침이 움직이는 시계를 만들어보았다. 한번에 import하는 방법 ctrl + shift + o run을 누르면 main 메소드에서 시작되는 작업단위가 있는데 그 작업 단위를 main thread(메인 스레드)라고 부른다. 특별히 작업단위를 늘리지 않는 이상 하나의 작업단위만 존재한다. package frame05; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField; /* *.. 2023. 5. 11.
평균구하기 🙋‍♂️문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 🙅‍♂️제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 👉입출력 예 입출력 예 1) arr [1,2,3,4] return 2.5 입출력 예 2) arr [5,5] return 5 🙆‍♂️나의 풀이 class Solution { public double solution(int[] arr) { double answer = 0; double sum = 0; for(int i = 0; i < arr.length; i++){ sum += arr[i]; } return sum / arr.length; } } 2023. 5. 11.
짝수와 홀수 🙋‍♂️문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 🙅‍♂️제한사항 num은 int 범위의 정수입니다. 0은 짝수입니다. 👉입출력 예 입출력 예 1) num 3 return "Odd" 입출력 예 2) num 4 return "Even" 🙆‍♂️나의 풀이 class Solution { public String solution(int num) { String answer = ""; if(num % 2 == 0){ return "Even"; }else { return "Odd"; } } } 2023. 5. 11.
JAVA Thread Java의 Thread란 하나의 프로세스 내에서 독립적으로 실행되는 작업 단위를 말한다. 자바에서는 프로세스가 존재하지 않고, 스레드만 존재하는데 이 자바 스레드는 JVM에 의해 스케쥴되는 실행 단위 코드 블록이다. 스레드를 사용하는 이유는 여러 가지가 있다. 가장 큰 이유는 멀티태스킹을 구현하기 위해서이다. 멀티태스킹은 하나의 시스템에서 여러 개의 작업을 동시에 처리하는 것을 말한다. 하지만 여러 개의 프로세스를 생성하는 것은 시스템 자원을 많이 소비하게 되므로, 스레드를 이용하여 작업을 분리하고, 동시에 처리할 수 있도록 한다. 자바에서 스레드를 구현하는 방법은 두 가지가 있다. 첫 번째는 Thread 클래스를 상속하는 방법이고, 두 번째는 Runnable 인터페이스를 구현하는 방법이다. Thread.. 2023. 5. 11.
20230510 수업내용🤦‍♂️🤦‍♂️ 자바스크립으로 토끼 명중시 풍선이 나가는 이펙트를 구현해 보았다 토끼를 명중시킨 횟수도 구현! 이클립스내부에서 git 써보기 git으로 관리할 대상 파일을 모든 파일을 대상으로 하면 안좋은 경우가 있다. 설정 파일(metadata)은 git의 추적 대상에서 제거할 필요가 있다. 여기서 설정이란 1.이클립스 설정 2.java설정(java version, 환경 등등) 이 모든 설정은 다 제외하고 코딩한 최소한의 파일만 add, commit 해서 git hub에 올려야 한다. 설정을 파일을 추적대상에서 제외하는 이유는 git hub에 올린 프로젝트를 내려받은 개발 환경이 git hub에 push 했었던 개발환경과 정확히 일치 하지 않으면 에러가 발생한다. git hub 에 올라간 프로젝트는 모든 설정 파일이 .. 2023. 5. 10.
JAVA Exception Java에서의 예외(Exception)란 사용자의 잘못된 조작이나 개발자의 코딩 실수로 인해 발생하는 프로그램 오류를 말한다. 일반 예외(Checked Exception)와 실행 예외(Unchecked Exception)가 있다. 일반예외는 개발자가 예외 처리를 반드시 해야 하고 실행 예외는 개발자가 예외 처리를 직접 하지 않아도 된다. 명시적인 예외 처리가 강제되는 것이 아니므로 unchecked 라고 부른다. 예외 처리를 할 때, try-catch 블록으로 예외 처리 하는 것이 기본이다. 하지만 경우에 따라서는 메소드를 호출 한 곳으로 예외 처리를 떠넘길 수도 있다. 이 때 사용하는 키워드가 throws이다. throws키워드는 메소드 선언부 맨 끝에 작성하며, 메소드에서 try-catch를 통해 처.. 2023. 5. 10.
2030509 수업내용😶‍🌫️😶‍🌫️ 자바에서 try catch에 대해서 어제에 이어 배우고있다. 예제👉 package test.main; import java.util.Scanner; public class MainClass02 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("나눌 수 입력 :"); String inputNum1 = scan.nextLine(); System.out.println("나누어 지는 수 입력 : "); String inputNum2 = scan.nextLine(); try { int num1 = Integer.parseInt(inputNum1); int num2 = Integer... 2023. 5. 9.