전공 과목 이수2👨‍💻/JAVA(공) 24

자바 11장,8장(스레드) 예제/연습문제

스레드 구현 두가지 방법 1. Thread 클래스를 확장하고 run()메소드 작성 2. Runnable 인터페이스 구현하고 run()메소드 작성. 그리고 Threaed클래스의 생성자를 통해 객체를 생성해야 한다. 예제11.1 simpleThreadTest class SimpleThread extends Thread { public SimpleThread(String name) { super(name); // 슈퍼클래스 Thread에 저장 } public void run() { System.out.println(getName() + " is now running."); } } public class SimpleThreadTest { public static void main(String[] args) { ..

자바 | 8장 swing연습문제

집그리기 import javax.swing.*; import java.awt.*; class HouseDrawingComponent extends JComponent { public void paintComponent(Graphics g) { // 단계 1: 지붕을 그린다. int[] xPnts = {100, 50, 150, 100}; int[] yPnts = {30, 180, 180, 30}; int nPnts = xPnts.length; g.fillPolygon(xPnts, yPnts, nPnts); // 지붕 위의 기와 모양을 그린다. g.setColor(Color.WHITE); g.drawArc(90, 50, 20, 40, 210, 120); g.drawArc(75, 87, 20, 40, 210,..

자바 11주차 | 11장 스레드

스레드는 순차프로그램과 유사하게 시작, 실행, 종료의 실행순서를 가진다. # 스레드 객체 생성 Thread worker = new Thread(); # 스레드 동작 기술 public void run() 1. Thread 클래스 확장 2. Runnable 인터페이스 구현 # 스레드 시작 worker.start() # Thread클래스 확장 run 메소드 작성하고 start 메소드로 실행 가능 class SimpleThread extends Thread { public SimpleThread(String name) { super(name); } public void run() { System.out.println(getName() + " is now running."); } } public class Sim..

자바10, 11주차 | 9장 예외

예외 정의 , 발생 , 처리 , 전파 # 예외처리의 장점 1. 신뢰성을 높일 수 있다. 2. 예외 검사와 처리를 위한 프로그램 코드를 소스에 깔끔하게 삽입할 수 있다. # 예외 발생을 위해선 예외 처리 클래스가 필요한데 대표적으로 Throwalbe과 Exception두개가 있다. Exception을 더 많이 선호한다. # 예외에 관련된 메시지를 스트링 형태로 예외 객체에 담아 전달 # 예외 발생 시스템에 의해 묵시적으로 발생 프로그래머가 명시적으로 발생 :throw구문 = raise : exception발생 # try - catch - finally try구문에서 예외가 발생하자마자 catch문으로 이동. 따라서 try구문에서 예외발생한 코드 밑으로는 수행안하고 바로 catch문으로 이동 # 예외 전파 ..

자바|10주차 인터페이스

extends는 인터페이스가 인터페이스를 상속받을 때 사용 # 인터페이스 형태 [public은 선택적] interfaceName [extends ListOfSuperInterfaces] { // 인터페이스 몸체 constant definitions 상수 정의 (필드) method declarations 메소드 선언 * 인터페이스에서 선언된 모든 필드는 반드시 초기화가 되어야 한다. * 인터페이스의 메소드는 내부적으로 추상 메소드가 된다. 꼭 구현을 해야한다. * 인터페이스 = 추상클래스 * static이 올 수 없음 * 생성자가 없음 ** 인터페이스가 선언되면 인터페이스를 구현하는 클래스가 있어야 한다. 인터페이스는 객체를 가질 수 없다. # 클래스가 인터페이스를 상속받을때는 implements 사용 c..

자바| 1장~6장실습 / 연습문제

java.io 클래스를 임포트한다 -> ioexception, bufferedreader 함수 사용가능 문자형태를 정수형태로 변경가능하다. 따라서 10이상의 숫자도 받아서 저장할 수 있음. (한 라인) package soobin; //import java.io.BufferedReader; //import java.io.IOException; import java.io.*; public class Test1 { public static void main(String[] args) throws java.io.IOException { int n; BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); n=Integer.parse..

Java | 제네릭(generic)

같은 기능을 하지만 자료형에 따라 중복된 프로그램을 작성해야 한다. 제네릭은 자료형을 로 가질 수 있다. 제네릭클래스 = 범용클래스, 포괄클래스 package soobin; class StudentInfo{ public int grade; StudentInfo(int grade){this.grade=grade;} } class StudentPerson{ public StudentInfo info; StudentPerson(StudentInfo info){this.info = info;} } class EmployeeInfo{ public int rank; EmployeeInfo(int rank){this.rank = rank;} } class EmployeePerson{ public EmployeeInf..

Java | 다형성 (Polymorphism)

다형성이란 하나의 메소드나 클래스가 있을때 다양한 방법으로 동작하는 것. 같은 동작이지만 동작방법이 다른 것 package soobin; class O{ public void a(int param) { System.out.println("숫자출력"); System.out.println(param); } public void a(String param) { System.out.println("문자출력"); System.out.println(param); } } public class PolymorphismOverloadingDemo { public static void main(String[] args) { O o = new O(); o.a(1);; o.a("one"); } } class A{} class..

Java | overroading (같은이름함수, 다른 매개변수)

* overrideing(재정의)와 헷갈리지 말자! 메소드의 이름이 같고 매개변수는 다른 경우. 예를 들어서, 매개변수 두 개를 받아서 더하는 작업과, 매개변수 세 개를 더해서 더하는 작업은 매개변수의 개수를 제외하면 유사한 작업을 한다. package soobin; class Calculator_overloading { int left, right; int third=0; public void setOperands(int left, int right) { System.out.println("setOperands(int left, int right)"); this.left = left; this.right=right; } // 함수의 이름은 같지만 매개변수는 다르다 public void setOperan..