산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

자바 캡슐화

자바 캡슐화

이 튜토리얼에서는 예제를 통해 Java의 캡슐화 및 데이터 은닉에 대해 배웁니다.

자바 캡슐화

캡슐화는 객체 지향 프로그래밍의 핵심 기능 중 하나입니다. 캡슐화란 단일 클래스 안에 필드와 메소드를 묶는 것을 말합니다.

외부 클래스가 클래스의 필드와 메서드에 액세스하고 변경하는 것을 방지합니다. 이는 데이터 숨기기를 달성하는 데도 도움이 됩니다. .

<시간>

예제 1:자바 캡슐화

class Area {

  // fields to calculate area
  int length;
  int breadth;

  // constructor to initialize values
  Area(int length, int breadth) {
    this.length = length;
    this.breadth = breadth;
  }

  // method to calculate area
  public void getArea() {
    int area = length * breadth;
    System.out.println("Area: " + area);
  }
}

class Main {
  public static void main(String[] args) {

    // create object of Area
    // pass value of length and breadth
    Area rectangle = new Area(5, 6);
    rectangle.getArea();
  }
}

출력

Area: 30

위의 예에서 Area라는 클래스를 만들었습니다. . 이 수업의 주요 목적은 면적을 계산하는 것입니다.

면적을 계산하려면 두 개의 변수가 필요합니다. length너비 및 메소드:getArea() . 따라서 우리는 이러한 필드와 메소드를 단일 클래스에 묶었습니다.

여기에서 필드와 메서드는 다른 클래스에서도 액세스할 수 있습니다. 따라서 이것은 데이터 숨기기가 아닙니다. .

이것은 캡슐화일 뿐입니다. . 유사한 코드를 함께 보관하고 있을 뿐입니다.

참고 :사람들은 종종 캡슐화를 데이터 숨김으로 생각하지만 완전히 사실은 아닙니다.

캡슐화는 관련 필드와 메서드를 함께 묶는 것을 말합니다. 이것은 데이터 숨김을 달성하는 데 사용할 수 있습니다. 캡슐화 자체는 데이터 은닉이 아닙니다.

<시간>

캡슐화해야 하는 이유

<시간>

데이터 숨기기

데이터 숨김은 구현 세부 정보를 숨겨 데이터 멤버의 액세스를 제한하는 방법입니다. 캡슐화는 데이터를 숨기는 방법도 제공합니다.

접근 수정자를 사용하여 데이터 숨김을 달성할 수 있습니다. 예를 들어,

예시 2:private 지정자를 사용한 데이터 은닉

class Person {

  // private field
  private int age;

  // getter method
  public int getAge() {
    return age;
  }

  // setter method
  public void setAge(int age) {
    this.age = age;
  }
}

class Main {
  public static void main(String[] args) {

    // create an object of Person
    Person p1 = new Person();

    // change age using setter
    p1.setAge(24);

    // access age using getter
    System.out.println("My age is " + p1.getAge());
  }
}

출력

My age is 24

위의 예에서는 private가 있습니다. 필드 나이 . private이기 때문에 , 클래스 외부에서 액세스할 수 없습니다.

나이에 접근하려면 , 우리는 public을 사용했습니다. 메소드:getAge()setAge() . 이러한 메소드를 getter 및 setter 메소드라고 합니다.

나이 만들기 private을 사용하면 클래스 외부에서 무단 액세스를 제한할 수 있습니다. 데이터 숨기기입니다. .

age에 접근하려고 하면 메인의 필드 클래스에 오류가 발생합니다.

// error: age has private access in Person
p1.age = 24;

java

  1. Java 데이터 유형(기본)
  2. 자바 연산자
  3. 자바 주석
  4. 자바 for-each 루프
  5. 자바 문자열
  6. 자바 이 키워드
  7. 자바 인터페이스
  8. 자바 리소스 사용
  9. 자바 주석
  10. 자바 타입 캐스팅