Method 설계 - 속성이 선언되었으나 이의 상태를 변경하는 Method가 없다면 잘못 선언된 속성이다. - 실물 객체가 가진 기능을 모두 제공해주어야 한다. - 각각의 Method는 서로 관련성이 있어야 한다. - 객체 안의 Method는 객체 안의 속성을 처리해야 하며, 다른 객체를 전달받아 해당 다른 객체에 정의 된 속성을 직접 처리하면 안된다. - 단 Method에 실행에 필요한 값들은 객체의 형태가 아닌 매개변수의 형태로 전달되어져야한다.
장점 - 객체 지향의 패러다임 중 하나인 추상화를 제공한다. - 재 사용성 향상
무결성 - 보통의 캡슐화 코딩이라고 한다면, 주로 변수는 private로 선언하고 Method를 public으로 선언하는 형태를 가지게 된다. - 이는 객체의 무결성을 위함이고, Getter/Setter를 제외 하고는 public method는 입력된 매개변수를 Validation을 한 후에 실행하는 것을 기본으로 한다. - Validation을 통하여, 객체의 값을 바꾸거나, 값에 대해 유효성을 가질 수 있다.
상속
객체지향에서의 상속은, 속성의 상속이 아닌, 하위로 내려갈 수록 구체화 되는 것이다.
상속의 효과 - 프로그램의 구조에 대해 이해도가 향상 => 최상위 클래스의 구조를 보고, 하위 클래스의 동작을 이해할 수 있다. - 재사용성 향상 => 상속을 이용하여, 해당 클래스에 필요한 속성 및 메소드를 모두 정의하지 않고, 상속을 받아서 사용할 수 있다. - 확장성 향상 => 일관된 형태의 클래스 객체를 추가할 수 있어, 간단하게 프로그램 확장이 가능하다. - 유지보수성 향상 => 각 객체마다, 자신의 메소드를 정의하고 있다면, 코드 수정에서 많은 작업이 필요하지만, 상속을 사용한 경우 일관된 형태로 작성이 가능하다.
다형성
다형성은 하나의 개체가 여러 개의 형태로 변화 하는 것을 말하며, 이를 객체지향에서도 유사하게 사용하고 있다.