실행 중에 제대로 동작하는 것변경을 위해 존재하는 것코드를 읽는 사람과 의사소통하는 것객체 사이의 결합도를 낮춰 변경이 용이한 설계를 만드는 것이어야 한다.목표를 이루기 위해서는?캡슐화( 2. 자율성을 높인다 -> 자신의 문제를 스스로 해결하도록 코드를 변경기본