객체지향은 객체에 메시지를 보내는 것이다. 그 메시지는 메서드라는 형태로 이루어 진다.

기본에 집착하자. 모든 응용은 탄탄한 기본에서부터 나온다.

  1. 예외처리가 중요하다.
  2. 항상 테스트 코드를 작성한다.
  3. 라이브러리는 알아보고 사용한다.
  4. 관심사의 분리 고려하기 (높은 응집도와 낮은 결합도를 가지게 설계하기)
  1. 추상화 수준을 항상 생각하기 (가독성)
  2. getter사용 대신 객체 내부에 질문을 던져서 해결하는 방식으로 작성한다. (응집도를 높이고 외부에서 함부로 get으로 꺼내가지 않도록 한다.)
  3. OCP 지키기 (기존 코드의 변경 없이, 시스템의 기능을 확장할 수 있어야 한다.)
  4. LSP 지키기 (자식 클래스는 부모 클래스의 책임을 준수하며, 부모 클래스의 행동을 변경하지 않아야 한다. 즉, 부모가 준건 건드리지 말고 그대로 자식이 사용하면 된다는 것이다.)
  5. ISP 지키기 (인터페이스를 잘게 쪼개자, 인터페이스 안에도 사용하는 메서드만 작성한다.)
  6. DIP 지키기 (고수준, 저수준 모듈이 모두 추상화(인터페이스)를 의존하도록 한다.)
  1. 연차, 직종에 상관없이 모든 개발자들은 나의 선배님들이다. 항상 존경하며 배우도록 하자.