OOP란
하나의 소프트웨어가 동작하는 원리를 그것을 구성하는 여러 객체 간의 상호작용으로 정의하고, 이에 따라, 객체를 중심으로 소프트웨어를 설계/개발해야한다는 프로그래밍 패러다임이다.
✔ 오버라이딩 vs 오버로딩
오버라이딩 - 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의하여 사용하는 기술
오버로딩 - 같은 이름의 메서드를 여러개개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술
결합도 : 객체 간에 의존하는 정도를 의미
응집도 : 한 객체의 자율성, 특정 역할에 대한 독립적인 책임을 의미