Thread를 구현하는 경우 간혹 보면, implement Runnable를 선언하는 경우와 그렇지 않은 경우가 있습니다.
implement Runnable가 있는 경우와 없는 경우의 차이점은 무엇인가요?
Thread 클래스를 상속 하는것과 Thread 클래스의 동작을 Runnable 로 위임하는건 동작에는 차이가 없습니다.
객체지향 적인 측면에서 봤을 때 스레드의 행동을 Runnable에 위임하여 구현해서 쓰는게 유연합니다.
스레드가 동작하는 run() 이라는 메서드 행위를 Runnable에게 떠넘기는거죠 Thread같은 경우는 별로 이차이를 못느낄지 몰라도 추상화된 행동이 많은 클래스의 경우는 이렇게 인터페이스에서 메서드를 구현하는거 자체가 굉장히 중요해 집니다.
더 많은 정보를 얻고 싶으시다면 객체지향과 관련된 서적이나 구글검색자료를 참고하세요
자세한 설명 감사합니다.
로그인 유지
Thread 클래스를 상속 하는것과 Thread 클래스의 동작을 Runnable 로 위임하는건 동작에는 차이가 없습니다.
객체지향 적인 측면에서 봤을 때 스레드의 행동을 Runnable에 위임하여 구현해서 쓰는게 유연합니다.
스레드가 동작하는 run() 이라는 메서드 행위를 Runnable에게 떠넘기는거죠 Thread같은 경우는 별로 이차이를 못느낄지 몰라도 추상화된 행동이 많은 클래스의 경우는 이렇게 인터페이스에서 메서드를 구현하는거 자체가 굉장히 중요해 집니다.
더 많은 정보를 얻고 싶으시다면 객체지향과 관련된 서적이나 구글검색자료를 참고하세요