스레드를 생성하고 활용하는 방법은 2가지가 있다. - Thread 객체 상속받기 - Runnable 인터페이스 상속받기 ## Thread 객체를 상속받기 : 스레드로 사용할 클래스를 정의 한 후 Thread 클래스를 상속받는다. Thread 클래스 객체를 생성하여 실행하기 위해서는 run() 메소드를 오버라이딩 해주어야 한다. class NewT extends Thread{ @override public void run(){ 실행! } } public class Example { public static void main(String[] args) NewT t = new NewT(); t.start(); } } 스레드 객체인 t를 실행하기 위해서는 start() 메소드로 실행시켜주면 된다. start()..
thorws (예외전파) 그냥 throws라고 하고 예외를 호출한 곳으로 다시 던진다고 표현을 했는데 예외를 전파한다는 표현으로 학교에서는 수업을 진행한다. class ExceptoinAAA extends Exception{}; class ExceptoinBBB extends Exception{}; public class ExceptPropagation { public static void a() throws ExceptoinAAA,ExceptoinBBB { System.out.println("a메소드 시작"); b(); throw new ExceptoinAAA(); } public static void b() throws ExceptoinBBB{ System.out.println("b메소드 시작"); ..
class Bank{ private int money = 10000; public void saveMoney(int save) { int m = this.getMoney(); try { Thread.sleep(3000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } setMoney(m+save); } public void minusMoney(int minus) { int m = this.getMoney(); try { Thread.sleep(200); } catch (InterruptedException e) { // TODO Auto-generated catch block e.pri..
출처 (백기선의 자바 스터디 : https://www.notion.so/3565a9689f714638af34125cbb8abbe8) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 ## 자바가 제공하는 예외 계층 구조, Exception과 Error의 차이 예외란? : 자바에서 예외는 에러(Error)와 예외(Exception) 두 가지 개념을 말한다. 오류(Error) 는 시스템 실행 중 생기는 오류를 말한다. 해당 오류는 개발자가 미리 예측을 하여 처리할 수 있는 오류가 아니다. 따라서 해당 오류를 처..
배열 - 배열이란 - 다차원 배열 - ArrayList 클래스 사용 - 배열 응용 기본클래스 - Object 클래스 - String 클래스 - Wrapper 클래스 - Class 클래스 #배열이란 : 자료를 순차적으로 관리하는 구조 - 배열 선언 , 초기화 : 자바에서는 어떠한 객체를 사용하기 위해서는 선언과 초기화를 해야한다. 자료형[] 배열이름 = new 자료형[크기]; 자료형 배열이름[] = new 자료형[크기]; String[] arr = new String[크기]; int arr1[] = new int[크기]; - 배열 초기화 : 배열은 선언과 동시에 각 요소의 값이 초기화 된다 => 정수(0), 실수(0.0), 객체 배열(null) 배열 선언과 동시에 특정 값으로 초기화하기 int[] arr ..
내부 클래스, 람다식, 스트림 내부 클래스 람다식 스트림 내부 클래스 : 내부 클래스는 클래스 내부에 선언한 클래스를 말한다. 클래스 내부에 클래스를 사용하는 이유는 외부 클래스와 관련이 있던가, 다른 클래스와는 관련되지 않아 사용 하거나, 될 일이 없기 때문입니다. 내부 클래스는 선언하는 위치나 예약어에 따라 네 가지 유형을 갖는다. 인스턴스 내부 클래스 정적 내부 클래스 지역 내부 클래스 익명 내부 클래스 ## 인스턴스 내부 클래스 : 인스턴스 변수를 선언 할 때와 같이 선언 / 외부 클래스 내부에서만 생성하여 사용하는 객체를 선언할 때 사용 특징 : 외부 클래스 생성 후 인스턴스 내부 클래스가 생성된다. class OutClass{ //외부 클래스 private int num = 10; //외부 클..
기본클래스 Object 클래스 String 클래스 Wrapper 클래스 Class 클래스 Object 클래스 : 클래스의 최상위 클래스 -> 모든 클래스는 Object 클래스를 상속받는다. 이는 컴파일 과정에서 상속이 일어나므로 우리가 직접 코딩하지 않는다. 모든 클래스는 Object 클래스를 상속 받아 클래스의 메소드를 사용할 수 있다. Object 클래스의 메소드를 알아보자 String toString() : 객체를 문자열로 표현하여 반환 - 재정의하여 객체에 대한 설명이나 특정 멤버변수 값 반환 boolean equals() : 두 인스턴스가 동일한지 여부를 반환 int hashCode() : 객체의 헤시 코드 값을 반환 Object clone() : 객체를 복제하여 동일한 멤버 변수를 가진 새로운..
출처 : DO IT! 자바프로그래밍 (저 : 박은종) INTERFACE 인터페이스 인터페이스란 인터페이스와 다형성 인터페이스 요소 살펴보기 인터페이스 활용하기 인터페이스란 인터페이스는 구현 코드가 없다. 추상 메서드와 상수로만 이루어져 있다. 이러한 인터페이스는 클래스 혹은 프로그램이 제공하는 기능을 명시적으로 선언하는 역할을 한다. - implements : 인터페이스에서는 인터페이스에 선언한 기능을 클래스가 구현한다는 의미로 implements 예약어를 사용 구현하는 클래스에서는 인터페이스에 선언된 추상메서드를 구현한다. package Interface; public interface Calc { double PI = 3.14; int ERROR = -99999999; int add(int num1,..