신입이 실수하지 않는 코드를 짜는 방법을 알아보자. 스타크래프트 게임을 만든다고 하고, 프로토스가 공격하는 코드를 짤 것이다. 신입에게 새로운 유닛을 만드는 일을 주기 위해 팀장이 코드를 짜줄 것이다. 새로운 유닛을 만들 때 메서드의 이름을 틀릴 수도 있고, 빠트리는 메서드가 있을 수도 있다. 이때는 실수한 신입의 잘못이 아니다. 메서드의 실수가 있어도 오류가 나지 않게 틀을 만들어준 팀장의 잘못이다!! 이를 방지하기 위해 abstract 추상 클래스를 사용할 것이다. 객체의 행위를 공통적으로 정의할 수 없을 때 사용하는 것이다. 클래스명 앞에 abstract를 붙이면 몸체(클래스 중괄호 내부)가 필요 없게 된다. 구체적인 행위는 자식마다 다 다르니까 구체적인 자식에게 구체적인 행위를 맡기는 것이다.(위..