java.lang.Thread 클래스로부터 작업 스레드 객체를 직접 생성하려면 Runnable을 매개값으로 갖는 생성자를 호출해야 합니다.
Thread thread = new Thread(Runnable target);
스레드를 생성하기 위해서는 보통 Thread 클래스를 상속받아 새로운 클래스를 작성하고, run() 메소드를 오버라이딩하여 스레드가 실행할 작업을 정의합니다.
스레드를 시작하기 위해서는 start() 메소드를 호출해야 합니다. start() 메소드는 새로운 스레드를 생성하고, 해당 스레드에서 run() 메소드를 실행합니다. 직접 run() 메소드를 호출하는 것이 아니라 start() 메소드를 호출해야한 Java Virtual Machine 이 스레드를 적절히 처리하고 동작시킬 수 있습니다.

생성된 스레드 객체의 start() 메소드를 호출하면, JVM은 새로운 스레드를 생성하고 해당 스레드의 run() 메소드를 실행하게 됩니다.
(순차적으로 일어나는 일, 동시 X)
단순히 현재 스레드에서 해당 객체의 run() 메소드가 실행될 뿐, 새로운 스레드가 생성되지 않습니다. 따라서 스레드를 병렬로 실행하기 위해서는 start() 메소드를 호출해야 합니다.