@FunctionalInterface
run() -> void
: 작업 스레드가 실행할 코드Naming a class that implements java.lang.Runnable with the suffix "Task" is a common naming convention in Java. This is because a class that implements Runnable can be used to represent a unit of work that can be executed in a separate thread. By using the "Task" suffix, it becomes clear that the class represents a task that can be run in a separate thread.
DownloadFileTask, ImageProcessingTask