logo

Java의 캡슐화

캡슐화란 데이터와 해당 데이터에 대해 작동하는 함수를 클래스와 같은 단일 단위로 결합하는 것을 의미합니다. ~ 안에 객체 지향 프로그래밍 물건을 정리하고 안전하게 유지하는 데 도움이 됩니다.

  • 클래스는 구현 부분을 숨기고 다른 클래스에 필요한 기능만 공개할 수 있습니다. 클래스 데이터와 메서드를 비공개로 만들면 나중에 이 클래스를 사용하는 코드에 영향을 주지 않고 변경할 수 있습니다.
  • 유지 관리성, 가독성 및 유용성이 향상되는 데 도움이 됩니다. 또한 변수에 할당된 값에 대한 검증 및 제어를 허용하여 데이터 무결성을 유지하는 데 도움이 됩니다.
캡슐화' title=캡슐화

Java에서 캡슐화 구현

  • 데이터를 비공개로 선언합니다. 클래스 외부에서 직접 접근할 수 없도록 클래스 데이터를 숨깁니다.
  • getter 및 setter를 사용하십시오. 변수를 비공개로 유지하고 검증을 통해 액세스 제어 및 안전한 수정을 위한 공개 getter 및 setter 메서드를 제공하세요.
  • 적절한 액세스 수정자를 적용하십시오. 데이터 숨기기에는 private을 사용하고 액세스를 제공하는 메서드에는 public을 사용합니다.
Java
class Programmer {  private String name;  // Getter method used to get the data  public String getName() { return name; }  // Setter method is used to set or modify the data  public void setName(String name) {    this.name = name;  } } public class Geeks {  public static void main(String[] args){    Programmer p = new Programmer();  p.setName('Geek');  System.out.println('Name=> ' + p.getName());  } } 

산출
Name=> Geek 

설명: 위의 예에서는 캡슐화를 사용하고 getter( getName) 그리고 세터( 세트이름) 개인 데이터를 표시하고 수정하는 데 사용되는 메서드입니다. 이 캡슐화 메커니즘은 Programmer 객체의 내부 상태를 보호하고 이름 속성에 액세스하고 수정하는 방법에 대한 더 나은 제어와 유연성을 허용합니다.

캡슐화의 장점

캡슐화의 장점은 다음과 같습니다.

  • 데이터 숨기기: 캡슐화는 중요한 데이터를 무단 액세스로부터 보호하는 클래스 변수에 대한 직접 액세스를 제한합니다.
  • 향상된 유지 관리성: 클래스를 사용하는 외부 코드에 영향을 주지 않고 내부 구현을 변경할 수 있습니다.
  • 강화된 보안: 캡슐화를 사용하면 유효하지 않거나 유해한 값이 설정되는 것을 방지하면서 데이터를 검증하고 제어할 수 있습니다.
  • 코드 재사용성: 캡슐화된 클래스는 내부 논리를 노출하지 않고도 다른 프로그램에서 재사용할 수 있습니다.
  • 향상된 모듈성: 캡슐화는 클래스 내에서 데이터와 메소드를 함께 유지함으로써 체계적인 모듈식 코드를 촉진합니다.

캡슐화의 단점

캡슐화의 단점은 다음과 같습니다.

  • 코드 복잡성 증가: 모든 변수에 대해 getter 및 setter 메소드를 작성하면 코드가 더 길어지고 약간 더 복잡해질 수 있습니다.
  • 성능 오버헤드: 직접 액세스하는 대신 메서드를 통해 데이터에 액세스하면 특히 성능이 중요한 애플리케이션에서 약간의 성능 비용이 발생할 수 있습니다.
  • 경우에 따라 유연성이 떨어짐: 클래스 멤버에 대한 액세스를 과도하게 제한하면 다른 클래스가 클래스를 효율적으로 확장하거나 사용하는 기능이 제한될 수 있습니다.
퀴즈 만들기