✅ 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. ✅ 학습할 것 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..
라이브 스터디 1/3지점에 도달했습니다. 벌써 5주차라는게 신기하네요 시간이 너무너무 빠릅니다.. 목표 자바의 Class에 대해 학습하세요. 학습할 것 클래스 정의하는 방법 객체 만드는 방법(new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 과제 (Optional) int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 1. 클래스를 정의하는 방법 객체지향에서 클래..