2024.10.15(화)
OOP: Object Oriented Programming
캡슐화, 추상화, 상속, 다형성
캡슐의 특징을 가진다.
데이터를 은닉하고, 명확한 기능을 가진 물체로 만든다.
본질적인 특징을 정의해서 구현한다.
부모 클래스의 형태를 자식이 똑같이 복사해서 사용한다.
상황에 따라 역할이 바뀔 수 있다.
사용방식: 오버로딩/오버라이딩
하나의 대상이 하나의 역할만 하는 것이다.
'책임'이 하나의 기능구현만 책임진다는 뜻이다.
수정에는 닫혀있고, 확장에는 열려있는 방식이다.
코드는 수정되는 것보단, 확장을 통해 유지보수가 가능하도록 설계되어야 한다.
부모 말 좀 들어라 떼잉..
부모 클래스의 코드를 수정하지 마라.(오버라이딩해서 부모클래스의 동작을 지우지 마라)
부모 클래스에서 작성한 메서드를 오버라이딩 했을 때, base.메서드이름(); 을 지우지 마라.
낭비가 없게 코드를 작성하라.
부모 클래스에 들어가는 코드는 모든 자식 클래스에서 동작해야하는 부분이 되야 한다.
응집도를 올려라. 낭비되는 부분을 줄여라.
인터페이스를 분리해서 사용하라.
목적과 용도에 맞게 인터페이스를 분리해서 작성하라.
인터페이스는 웬만하면 변하지 않도록 작성하라.
완성된 클래스에 접근하는 게 아니라 그 클래스의 상위 요소에 접근하여 참조하라.
변화가 많은 하위 클래스보다 변화가 적은 상위 클래스나 인터페이스를 참조하라는 것이다.
메세지를 통해서 소통하기 위해서 디자인 패턴을 배운다.
패턴에 대해서는 공부하게 되면 더 적도록 하겠다.
이상 오늘의 TIL 끝.