본문 바로가기

전체 글20

자바 쓰레드(Thread) 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 1. Thread 클래스와 Runnable 인터페이스 Thread 클래스를 알아보기 전에 프로세스와 쓰레드에 대해 알아보겠습니다. 프로세스란 메모리에 올라가 있는 프로그램이란 뜻입니다. 기본적으로 프로세스는 최소 1개의 쓰레드를 가지고 있습니다. 쓰레드란 프로세스의 논리적인 작업 단위를 뜻합니다. 하나의 프로세스를 구성하는 쓰레드들은 프로세스에 할당된 메모리, 자원 등을 공유해서 사용할 수 있습니다. 각 쓰레드는 자신만의 스택과 레지스터를 가지고 있습니다. 이제 자바에서 쓰레드를 어떻게 생성하고 사용하는지 알아보겠습니다. .. 2021. 1. 25.
팩토리 메소드 패턴(Factory method pattern) 안녕하세요 이번에는 디자인 패턴 중 하나인 [팩토리 메소드 패턴(Factory method pattern)]에 대해 알아보겠습니다. 팩토리 메소드 패턴은 객체를 생성하기 위해 인터페이스/추상클래스를 정의하지만, 실제로 어떤 클래스의 인스턴스를 생성할지 결정하는 것은 서브 클래스에게 맡기는 패턴입니다. 팩토리 메소드 패턴에 클래스 다이어그램은 다음과 같습니다. 팩토리 메소드 패턴은 Creator 클래스가 사용하는 Product타입의 인스턴스를 Creator의 서브 클래스에서 생성합니다. Cretor 클래스에서는 자신이 사용하는 Product의 구체적인 클래스를 알지도 못하고 알 필요도 없습니다. Product 인터페이스로 기능을 구현하기 때문에 확장성에도 유리합니다. 이제 코드를 보면서 팩토리 메소드 패턴.. 2021. 1. 21.
JAVA 예외 처리 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 1. 자바가 제공하는 예외 계층 구조 Throwable 클래스 : 모든 예외의 조상이 되는 Exception 클래스와 모든 오류의 조상이 되는 Error 클래스의 부모 클래스 Exception과 Error는 Throwable 클래스를 상속받고 있습니다. 2. Exception과 Error의 차이는? 오류(Error)는 시스템에 비정상적인 상황이 생겼을 때 발생합니다. 프로그램 레벨에서 대비할 수 .. 2021. 1. 15.
싱글톤 패턴(Singleton pattern) 안녕하세요~ 이번에는 디자인 패턴 중 하나인 [싱글톤 패턴(Singleton pattern)]에 대해 알아보겠습니다. 싱글톤 패턴(Singleton Pattern) 이란 ? 싱글톤 패턴은 인스턴스가 오직 1개만 생성되어야 할 때 사용되는 패턴입니다. 애플리케이션이 시작될 때 어떤 클래스가 최초 한 번만 메모리를 할당하고 그 메모리에 인스턴스를 생성합니다. 싱글톤을 쓰는 이유 싱글톤 패턴을 사용하면 하나의 인스턴스를 할당할 메모리 공간만 가지기 때문에 메모리 낭비를 방지할 수 있고 효율적입니다. 또한 전역 인스턴스이기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하기 쉽습니다. 싱글톤의 문제점 싱글톤 인스턴스의 책임이 많아지거나 많은 데이터를 공유할 경우 다른 클래스 인스턴스들과 결합도가 높아져 OCP(.. 2021. 1. 11.