>  기사  >  Java  >  Java 캡슐화의 개념은 무엇입니까

Java 캡슐화의 개념은 무엇입니까

WBOY
WBOY앞으로
2023-05-09 08:52:221741검색

Encapsulation

Encapsulation의 개념

클래스의 특정 정보를 클래스 내부에 숨기고, 외부 프로그램에서 직접 접근을 허용하지 않고, 대신 숨겨진 정보를 클래스에서 제공하는 메소드를 통해 조작하고 접근합니다.

캡슐화가 필요한 이유는 무엇인가요?

클래스의 객체를 생성한 후 "object.properties"를 통해 객체의 속성에 값을 할당할 수 있습니다. 여기서 할당 작업은 속성의 데이터 유형 및 저장 범위에 따라 제한됩니다. 이 외에 다른 제약은 없습니다. 그러나 실제 문제에서는 속성 할당에 추가적인 제약을 추가해야 하는 경우가 많습니다. 이 조건은 속성 선언에 반영될 수 없습니다. 메서드를 통해서만 제한적인 조건을 추가할 수 있습니다. 동시에 사용자가 속성에 값을 할당하기 위해 "object.property" 메서드를 사용하는 것을 방지해야 하므로 해당 속성을 비공개로 선언해야 합니다.

포장의 장점:

1. 좋은 포장은 커플링을 줄일 수 있습니다.

2. 수업 내부 구조는 자유롭게 수정 가능합니다.

3. 멤버 변수를 더욱 정밀하게 제어할 수 있습니다.

4. 정보를 숨기고 세부정보를 구현합니다.

encapsulation 구현 단계

(1) 속성을 private으로 수정

(2) getter/setter 메소드를 생성하고 이 두 가지 메소드를 통해 데이터를 얻고 설정하며 객체는 이 두 가지 전송 메소드를 호출하여 상호 작용을 구현합니다. 데이터 읽기 및 쓰기.

class person{
  private int age;//修改属性为private
public int getAge(){
  return age;
}
public void setAge(int a){
   age = a;
   }
 }

캡슐화는 객체의 내부 복잡성을 숨기고 외부 호출을 용이하게 하기 위해 간단한 인터페이스만 노출합니다. 캡슐화를 구현하려면 일치하는 권한 수정자가 필요합니다.

Java의 패키지

Java의 패키지는 프로젝트의 클래스를 더 잘 관리하고 동일한 이름을 가진 파일과의 충돌을 해결하기 위한 것입니다. Java에서 패키지를 사용할 때 일반적으로 패키지 선언에 사용하는 package 키워드를 언급해야 합니다. 클래스 또는 인터페이스가 속한 패키지입니다(예: java.lang 패키지). 각 .는 파일 디렉토리의 레이어를 나타냅니다. 동일한 패키지를 사용하려면 import 키워드를 사용해야 합니다. 일반적으로 import 문은 패키지 선언 사이에 있습니다. Java에서는 패키지 이름이 모두 소문자로 표기됩니다.

Java의 클래스 생성자

모든 클래스에는 객체를 생성하고 속성을 초기화하는 데 사용되는 생성자가 있습니다. 클래스의 객체를 생성하는 방법: new+constructor, 예를 들어Person p = new Person();if 클래스의 명시적으로 정의된 생성자가 없는 경우 시스템은 기본적으로 빈 매개변수가 있는 생성자를 제공합니다.

형식을 정의합니다. 생성자

권한 수정자 클래스 이름(공식 매개변수 목록) {}

요약: 속성 할당 순서:

1 기본 초기화

2 명시적 초기화

3 생성자에서 초기화

4 "object.method" 또는 "object.property" 메소드

java의 이 키워드

이 키워드는 속성, 메소드 생성자를 수정하는 데 사용할 수 있습니다. 이는 현재 객체 또는 현재 생성 중인 객체로 이해됩니다.

In 클래스 메소드의 경우 "this.property" 또는 "this.method" 메소드를 사용하여 현재 객체 속성이나 메소드를 호출할 수 있습니다. 하지만 일반적으로 우리는 "this"를 생략합니다. 특별한 경우, 메소드의 형식 매개변수가 클래스의 속성과 동일한 이름을 갖는 경우 명시적으로 "this.variable"을 사용하여 변수가 속성임을 나타내야 합니다.

클래스 생성자의 경우에도 마찬가지입니다. 빈 매개변수를 사용하여 생성자를 호출합니다. this(); public Person(int age)과 같은 매개변수가 있는 매개변수를 호출할 때 this(age)를 사용하여 호출할 수 있습니다. 하지만 생성자에서 직접 호출할 수는 없습니다. 생성자가 n개인 경우 이 메서드를 사용하면 n-1개의 생성자만 호출할 수 있으며 이 호출을 첫 번째 줄에 선언해야 합니다. 생성자의 크기를 비교하는 데에도 사용할 수 있습니다.

아아아아

위 내용은 Java 캡슐화의 개념은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제