언어/JAVA

객체지향의 4대 특성

zumsim 2021. 4. 24. 16:15
728x90
반응형

1. 캡슐화

   - 객체의 속성을 보호하기 위해 사용한다.

   - method 설계

     1. 속성이 선언되었으나, 이의 상태를 변경하는 method가 없다면 잘못 선언한 속성이다.

     2. 실물 객체가 가진 기능을 모두 제공 해야 한다.

     3. 각각의 method는 서로 관련성이 있어야 한다.

     4. 객체 안의 method는 객체 안의 속성을 처리해야 하며, 다른 객체를 전달받아 해당 다른 객체에 정의 된 속성을

        직접 처리 하면 안된다.

     5. method에 실행에 필요한 값들은 객체의 형태가 아닌 매개변수의 형태로 전달되어야 한다.

   - getter/setter 설계 : 외부에서 직접 접근하는 것이 아니라 getter/setter를 통해서 접근하도록 적용

   - crud method : 데이터 처리를 위한 기본적인 crud method를 제공

   - business logic method : 비즈니스 로직 처리를 위한 method를 제공

   - 객체의 생명 주기 처리 method : destroy(), disconnect(), quit() 등 소멸에 대한 method

   - 객체의 영구성 관리 method : 영구성(유효성) 속성에 대한 변경이 필요한 경우 외부에서 접근이 불가능 하도록             private로 선언하며 내부의 다른 method를 통해서 사용되도록 한다.

   - method의 속성은 반드시 1개에 속할 필요는 없으며, 여러 속성에 해당 될 수 있다.

   - 장점

     1. 객체지향의 패러다임 중 하나인 추상화를 제공한다.

     2. 재 사용성 향상

   - 무결성

     - 보통 캡슐화 코딩이라 한다면, 주로 변수는 private로, method를 public으로 선언하는 형태를 많이 가진다.

 

2. 상속

   - 객체지향에서의 상속은, 속성의 상속이 아닌 하위로 내려갈 수록 구체화 되는 것이다.

   - 상속의 효과

     1. 프로그램 구조에 대한 이해도 향상

        - 최상위 클래스의 구조를 보고 하위 클래스의 동작을 이해 할 수 있다.

     2. 재사용성 향상

        - 상속을 이용하여, 해당 클래스에 필요한 속성 및 method를 모두 정의 하지 않고, 상속 받아서 사용 할 수 있다.

     3. 확장성 향상

        - 일관된 형태의 클래스 객체를 추가 할 수 있어 간단하게 프로그램 확장이 가능하다.

     4. 유지보수성 향상

        - 각 객체가 자신의 method를 가지고 있다면 코드 수정에 많은 작업이 필요하지만 상속을 사용한 경우 일관된

          형태로 작성이 가능하다.

 

3. 다형성

   - 하나의 개체가 여러 개의 형태로 변화하는 것을 말하며, 다형성을 하기 위해선 오버라이딩을 통해서 가능하다.

 

4. 추상화

   - 객체지향에서의 추상화는 모델링이다.

   - 구체적으로 공통적인 부분, 또는 특정 특성을 분리해서 재조합 하는 부분이 추상화이다.

   - 다형성, 상속 모두 추상화에 속한다.

728x90
반응형

'언어 > JAVA' 카테고리의 다른 글

보안 - 불충분 한 랜덤 값 사용  (0) 2022.02.23
Optional 클래스  (0) 2021.05.05
백준 등차수열  (0) 2020.12.08
split '.' 사용법  (0) 2020.06.26
JAVA 구분자 넣어서 합치기  (0) 2020.06.22