Java & Kotlin
Thread 클래스를 상속하는 것보다 Runnable 인터페이스를 구현해야 하는 이유
이번 글에서는 자바에서 쓰레드를 구현하는 가장 핵심적인 두 가지 Thread 클래스와 Runnable 인터페이스에 대해 간략하게 소개하려고 합니다. 먼저 쓰레드의 생명 주기를 간략하게 보고, 왜 Runnable 인터페이스를 Implements 하는 방식의 구현이 Thread 클래스를 상속해서 구현하는 방식보다 나은지 그 이유를 적어보겠습니다. 1. 쓰레드의 생명 주기 쓰레드는 크게 아래와 같이 5가지 상태의 생명 주기를 갖습니다. New 쓰레드가 만들어진 상태로 아직 start() 메소드가 호출되지 않은 상태입니다. Runnable (실행대기) 쓰레드가 실행되기 위한 준비 단계입니다. 코드 상에서 start() 메소드를 호출하면 run() 메소드에 설정된 쓰레드가 Runnable 상태로 진입합니다. Ru..