본문 바로가기
공부/공부정리

객체지향 언어의 4대 특성을 간략히 알아보자.

by 띵커베르 2021. 8. 25.
728x90

객체지향 언어의 4대 특성을 간략히 알아보자.

마음속으로는 뭔가 알겠는데 이것들을 표현할려니 어렵네요.

이펙티브 자바에서인가 4대 특성이 아니라 원래는 3대특성이였다는...상속은 아니라는..말이 있는데..좀 공감함..상속 별로 안 좋아함 ㅎ

객체지향의 4대 특성

 

  • 캡슐화
    • 접근제어자를 사용하여 객체 외부에서 내부 데이터의 접근을 통제합니다.
      • 참고
        • public : 모든 객체에서 접근 가능하다.
        • protected : 동일한 패키지 안에서 사용가능, 다른 패키지라도 상속받은 클래스에서는 접근 가능
        • default : 접근제어자가 없는 형태로 동일한 패키지 안에서만 접근이 가능
        • private : 동일한 클래스 안에서 사용가능, this를 사용하는 것들은 외부에서 접근 불가능, 상속도 안된다.
  • 상속
    • 부모 클래스의 메소드와 필드를 자식 클래스에게 그대로 물려 주는것
      • 참고 
        • 상속관계에서 만족해야하는 조건
          • 하위클래스는 상위 클래스이다.
          • 하위클래스 is a kind of 상위클래스 (하위 클래스는 상위 클래스의 일종이다)
        • 상속과 인터페이스
          • 상속
            • 클래스끼리 하나의 클래스만 상속
            • 상위 클래스는 물려줄 특성이 풍성할 수록 좋다.
          • 인터페이스
            • 다중 상속 가능
            • 구현을 강제할 메서드의 개수가 적을수록 좋다.
  • 추상화
    • 구체적인 것을 분해해서 관심 영역에 있는 특성만 가지고 재조합하는것 (모델링이라 한다)
      • 모델링?
        • 관심영역의 특성만을 가지고 재조합 하는 것 : 메서드를 재정의하다.
        • 구체적인 것을 상세히 하지 않고 필요성에 의해 특성만을 가지고 구성하는 것.
  • 다형성
    • 하나의 객체가 여러 가지 형태를 가질 수 있는 것을 의미.
    • ex) 오버로딩, 오버라이딩
      • 오버로딩 : 같은 메서드 이름, 다른 인자 목록 - 다수의 메서드를 중복 정의
      • 오버라이딩 : 같은 메서드 이름, 같은 인자 목록 - 상위 클래스의 메서드를 재정의
728x90

댓글