본문 바로가기

카테고리 없음

OO Principles & OO Basics

<OO Principles>

Encapsulate what varies.

Favor composition over inheritance.

Program to interfaces, not implementations.

Strive for loosely coupled designs between objects that interact.

Classes should be open for extension but closed for modification.

Depend on abstractions. Do not depend on concrete classes.

Only talk to your friends.

Don't call us, we'll call you.

A class should have only one reason to change.


<OO Basics>

Abstraction

Encapsulation

Polymorphism

Inheritance