객체지향적인 프로그램을 설계할 때 가장 중요하고, 반드시 지켜야 할 5가지 원칙이 있다. 각 원칙의 앞글자를 따 SOLID 원칙이라 하는데, 오늘은 두 번째인 개방 폐쇄 원칙(Open-Closed Principle)에 대해 알아본다. 개방 폐쇄 원칙(Open-Closed Principle) 객체는 확장에 대해서는 개방적이고, 수정에 대해서는 폐쇄적이어야 한다는 원칙을 말한다. 확장에 개방적이다. 여기서 확장이란, 새로운 기능이나 동작의 추가를 말한다. 확장에 개방적이어야한다는 말은 새로운 기능을 추가하거나 기존의 기능을 확장할 때 기존 코드를 수정하지 않고 새로운 코드를 추가할 수 있어야 함을 의미한다. 수정에 폐쇄적이다. 기존의 코드는 수정을 피해야 한다. 기존 코드를 수정하면서 새로운 기능을 추가하거..