캡슐화 정보



설명 할 때 항상 읽으므로 요약

캡슐화란?



클래스에 변수와 메소드를 응집해, 은폐해, 인스턴스화해 양산·이용할 수 있도록 한 것
  • 함께 숨기고 많이 만드는 메커니즘
  • 클래스란 의역하면 '종류'
  • 인스턴스와 의역하면 '실체'
  • 클래스로 정의한 것은 인스턴스화하는 것으로 이용할 수 있다
  • 그래서 클래스와 인스턴스는 세트로 생각하면 좋다
  • 독립성이 높은 부품을 만드는 구조
  • 객체 지향 삼대 요소 중 하나
  • 유형과 실체는 집합론에서 언급 된 집합과 요소에 해당합니다.

    특징



    개념적 측면 (현실 세계)



    분류 가능
  • 예를 들면 「아메리칸 쇼트 헤어」와 「일본 고양이」와 「퍼그」와 「시바개」
  • 「고양이」라는 종류의 「아메리칸 쇼트 헤어」와 「일본 고양이」라는 실체
  • '개'라는 종류의 '퍼그'와 '시바 개'라는 실체


  • 기술적 측면 (프로그래밍)



    인스턴스화할 때 실체에 필요한 정보를 전달할 수 있다. 인스턴스화 된 대상은 상태를 계속 관리합니다. 인스턴스화된 대상은 공개하는 정보가 제한되어 있다
  • 인스턴스화하면 생성자가 실행됩니다.
  • 생성자가 실행되면 필드가 설정됩니다.
  • 생성자는 의역 할 때 "구성하는 것"
  • 필드란 의역하면 "속성 정보"
  • 예를 들면 「Cat」라고 하는 클래스와 「고양이씨」라고 하는 인스턴스
  • 「Cat」클래스가 인스턴스화하는데 필요한 정보는 「이름」(만 이번은)
  • Cat이 인스턴스화되면 생성자는 인스턴스에 필요한 정보 인 고양이를 설정합니다.
  • "고양이 씨"탄생
  • "고양이 씨"이기 때문에 "고양이 씨"는 여러 번 울릴 수 있습니다


  • 프로그래밍 기술에서 "클래스"사용



    Cat.java
    public class Cat {
        String name;
    
        Cat(String name) {
            this.name = name;
        }
    
        public void cry() {
            System.out.println("にゃ〜");
        }
    }
    

    프로그래밍 기술에서 "인스턴스"사용



    Main.java
    public class Main {
        public static void main(String[] args) {
            Cat nekosan = new Cat("ねこさん");
            nekosan.cry();
        }
    }
    

    포인트


  • 역할을 하나로 만들기
  • 클래스는 형태로서 취급할 수 있다
  • 설명에서 사용되는 용어는 관점, 문맥 및 사람에 따라 다르다
  • 대체로 동일
  • 인스턴스화
  • 인스턴스 생성
  • 생성
  • new 한다


  • -> new 의 부분이 코드적으로는 상당한다
  • 대체로 동일
  • 초기화
  • 생성자
  • initialize한다
  • init


  • -> 이번(Java)에서 말하면 「Dog{」의 부분. PHP라든가라면 「__constract」. Ruby라든지 'initialize'. 파이썬이라든가 '__init__'. Swift 라든지 "init"
  • 대체로 동일
  • 필드
  • 멤버 변수
  • 인스턴스 변수


  • 관련 기사



    객체 지향으로 왜 만드는지 정리

    책 정보



    히라자와 장 (저) 오브젝트 지향으로 왜 만드는지 제 2 판
    htps : // 아 mz 응. 및 / 2VSr

    잡감



    캡슐화는 프로그래밍 기술적으로 설명하려고 하면 여러 요소나 시점이 있다
    설명하는 말도 많다는 점과 시점에 따라 설명 대상이 같아도 뉘앙스가 다르기 때문에 가장 소중하고 어려운 느낌.

    좋은 웹페이지 즐겨찾기