Interface

    [Java] Runnable과 Thread의 차이

    [Java] Runnable과 Thread의 차이

    자바에서 쓰레드를 구현할 때 2가지 방법이 있다고 한다. 1. Runnable 2. Thread 1. Runnable Runnable은 이름부터 인터페이스의 느낌이 강하다. implements Runnable 을 통해서 Runnable 인터페이스를 구현할 수 있다. Runnable 인터페이스를 구현하게되면 재사용성이 높고, 코드의 일관성을 유지할 수 있어서 Thread보다 더 효율적인 방법이라 할 수 있다. Runnable 인터페이스는 위와 같이 생겼다. 추상 메서드 run을 반드시 구현해야 한다. Thread도 run을 구현해야 한다는 점은 같지만 추상 메서드가 아니라 단순 메서드 오버라이딩으로 구현한다. Runnable 인터페이스를 구현해 스레드 구현 public class Main { public ..

    [Java] 추상 클래스와 인터페이스 (abstract class & interface)

    Java 추상 클래스와 인터페이스는 기능적으로 아주 유사하다. Java를 공부하면서 이 둘이 왜 나눠졌는지 이해하는건 자바 언어의 철학을 이해하는데 한 걸음 다가간다고 생각했다. 따라서 둘의 공통점 및 구분되는 특징을 조사해보고 인터페이스, 추상 클래스를 사용하는 클래스 다이어그램을 설계하고 코드로 실습을 해 보았다. 인터페이스의 특징 - 동일한 기능을 가지는 객체들에 대한 기능적인 '틀'을 제공한다. A(자식) Has a B(부모) - 다중 상속이 가능하다. - 하나의 규칙으로 적용된다. - 자식 요소들과 Has a (~할 수 있는) 관계를 가진다. (자식들이 공통된 기능을 가진다.) - 즉, 상속 받는 객체들이 할 수 있는 '기능'에 대해 미리 정의한다. - 주로 '~able'로 끝나도록 명명한다. ..