캡슐화는 단일 단위(일반적으로 클래스) 내의 데이터에 대해 작동하는 데이터(필드)와 메서드(함수)를 묶는 것과 관련된 기본적인 객체 지향 프로그래밍 개념입니다. 개체의 일부 구성 요소에 대한 직접 액세스를 제한하여 코드를 더 쉽게 유지 관리하고 보호할 수 있습니다.
// Encapsulation refers to restricting access of a class from the outside world public class Person { private String name; private String profession; private double height; private int ID; private int age; // Constructor public Person(String name, String profession, double height, int iD, int age) { this.name = name; this.profession = profession; this.height = height; ID = iD; this.age = age; } // Getters and setters for accessing private fields public String getName() { return name; } public void setName(String name) { this.name = name; } public String getProfession() { return profession; } public void setProfession(String profession) { this.profession = profession; } public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } public int getID() { return ID; } public void setID(int iD) { ID = iD; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } // Main method to demonstrate encapsulation public static void main(String[] args) { Person myPerson = new Person("Robert", "doctor", 130.4, 39, 23); // Accessing private fields through getter methods System.out.println(myPerson.getName()); System.out.println(myPerson.getProfession()); System.out.println(myPerson.getID()); System.out.println(myPerson.getAge()); } }
이름, 직업, 키, 아이디, 나이 항목은 비공개로 선언되어 있습니다. 이로 인해 클래스 외부에서 직접 액세스할 수 없습니다.
getName(), setName(), getProfession() 등과 같은 공개 메소드는 비공개 필드에 대한 제어된 액세스 포인트 역할을 합니다. 이러한 방법을 사용하면 외부 코드가 개인 데이터를 안전하게 검색하고 수정할 수 있습니다.
Person 클래스의 객체가 생성되면 생성자는 필드를 초기화합니다. 이렇게 하면 개체가 유효한 상태에서 시작됩니다.
주요 방법은 캡슐화가 어떻게 사용되는지 보여줍니다. 비공개 필드는 getter 메소드를 통해 간접적으로 액세스됩니다.
데이터 보호:
액세스 제어:
public void setAge(int age) { if (age > 0) { this.age = age; } else { System.out.println("Age must be positive."); } }
코드 유연성:
이 예에서는 캡슐화를 통해 Person 클래스가 무결성을 유지하고 구현 세부 정보를 숨기는 동시에 상호 작용을 위한 제어된 인터페이스를 제공하는 방법을 보여줍니다.
위 내용은 객체 지향 프로그래밍의 캡슐화 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!