✅ 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. ✅ 학습할 것 Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 ✅ Thread 클래스와 Runnable 인터페이스 들어가기에 앞서 쓰레드란 무엇인지 알아봅시다. 많은 면접 질문에서 프로세스와 쓰레드의 차이를 물어보고, OS에서 굉장히 기초적인 면접 질문으로 손꼽힙니다. 우선 프로세스를 알아보자 어떤 프로그램을 실행하면 OS로부터 자원을 할당받아 OS의 제어를 받는 상태가 되는데 이런 실행중인 프로그램을 프로세스라고 한다. 쓰레드는 프로세스의 자원을 이용해 실제 작업을 수행하는 것을 말한다. 따라서 모든 프로세스에는 최소 하나 이상의 쓰레드가 존재하고, 둘 이상을 가진 프로세스를 멀티쓰레..
목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 들어가며 자바는 에러의 발생시점에 따라 컴파일 에러, 런타임 에러, 논리적 에러가 존재한다. 이 중에서 런타임 에러는 컴파일 이후 *.class 파일의 실행 도중에 발생하는 잠재적인 오류다. 실행 시 발생할 수 있는 프로그램 오류는 에러와 예외 두가지로 구분된다. 에러: OutOfMemory, StackOverflowError와 같이 일단 발생하면 복구할 수 없는 심각한 오류 예외: 발생하더라도 수습될 수..
목표 자바의 인터페이스에 대해 학습하세요.학습할 것 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스 정의하는 방법 인터페이스란? 일종의 추상 클래스, 추상클래스처럼 추상 메서드를 갖지만 추상화 정도가 더 높아서 추상클래스와 달리 몸통을 가진 일반 메서드를 가질 수 없다 인터페이스 정의 interface 인터페이스이름 { public static final 이름 = 값; public abstract 메서드이름(매개변수); } 인터페이스는 다음과 같이 정의할 수 있다. 인터페이스..
목표 자바의 상속에 대해 학습 학습할 것 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치(Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 1. 자바 상속의 특징 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해서 클래스를 작성하면 적은 양의 코드로 새로운 클래스를 작성할 수 있고, 코드를 공통적으로 관리할 수 있어 프로그램의 생산성 및 유지보수에 기여를 한다. 상속은 extends라는 키워드로 이루어지게 된다. 간단한 예시를 보면 class Car { private int gear; private int speed; private int motor; public Car() { } public C..