java
자바의 캡슐화 변수(데이터)와 메서드(코드)를 하나의 단위로 묶는 메커니즘입니다. 정보 세부 정보를 숨기고 데이터와 개체의 동작을 보호하는 프로세스입니다. 이것은 네 가지 중요한 OOP 개념 중 하나입니다. 캡슐화 클래스는 테스트하기 쉽기 때문에 단위 테스트에도 좋습니다.
이 튜토리얼에서는 배우게 될 것입니다-
동영상에 액세스할 수 없는 경우 여기를 클릭하십시오.
캡슐화가 무엇인지 자세히 이해하려면 예금 및 잔액 표시 방법이 있는 다음 은행 계좌 클래스를 고려하십시오.
class Account { private int account_number; private int account_balance; public void show Data() { //code to show data } public void deposit(int a) { if (a < 0) { //show error } else account_balance = account_balance + a; } }
해커가 은행 계좌 코드에 액세스할 수 있었다고 가정합니다. 이제 그는 두 가지 방법으로 귀하의 계정에 -100을 입금하려고 합니다. 그의 첫 번째 방법이나 접근 방식을 살펴보겠습니다.
접근법 1: 그는 코드를 조작하여 유효하지 않은 금액(예:-100)을 귀하의 은행 계좌에 입금하려고 합니다.
이제 질문은 – 그것이 가능한가요?입니다. 조사하자.
일반적으로 클래스의 변수는 아래와 같이 "private"로 설정됩니다. 클래스에 정의된 메서드로만 액세스할 수 있습니다. 다른 클래스나 개체는 액세스할 수 없습니다.
데이터 멤버가 비공개인 경우 동일한 클래스 내에서만 액세스할 수 있음을 의미합니다. 외부 클래스는 다른 클래스의 개인 데이터 멤버 또는 변수에 액세스할 수 없습니다.
따라서 우리의 경우 해커는 귀하의 계정에 -100을 입금할 수 없습니다.
접근법 2 :해커의 첫 번째 접근 방식은 금액을 입금하지 못했습니다. 다음으로 '입금' 방식으로 -100을 입금하려고 합니다.
그러나 메서드 구현에는 음수 값이 있는지 확인합니다. 따라서 두 번째 접근 방식도 실패합니다.
따라서 데이터를 외부 당사자에게 절대 노출하지 않습니다. 귀하의 애플리케이션을 안전하게 보호합니다.
전체 코드는 캡슐이라고 생각할 수 있으며 메시지를 통해서만 통신할 수 있습니다. 따라서 이름 캡슐화.
자바에서 데이터 숨김 다른 클래스에서 클래스의 변수를 숨기고 있습니다. 현재 클래스의 메서드를 통해서만 액세스할 수 있습니다. 사용자에게 구현 세부 정보를 숨깁니다. 그러나 데이터 숨기기 이상의 의미는 관련 데이터를 더 잘 관리하거나 그룹화하기 위한 것입니다.
Java에서 캡슐화 수준을 낮추기 위해 "protected" 또는 "public"과 같은 수정자를 사용할 수 있습니다. 캡슐화를 통해 개발자는 다른 부분에 영향을 주지 않고 코드의 한 부분을 쉽게 변경할 수 있습니다.
자바의 Getter 및 Setter 변수의 값을 검색하고 업데이트하는 데 사용되는 두 가지 일반적인 방법입니다. 주로 변수 값을 생성, 수정, 삭제 및 확인하는 데 사용됩니다. setter 메서드는 값을 업데이트하는 데 사용되며 getter 메서드는 값을 읽거나 검색하는 데 사용됩니다. 접근자 및 돌연변이자라고도 합니다.
다음 코드는 getter 및 setter 메서드의 예입니다.
class Account{ private int account_number; private int account_balance; // getter method public int getBalance() { return this.account_balance; } // setter method public void setNumber(int num) { this.account_number = num; } }
위의 예에서 getBalance() 메소드는 변수 account_balance의 값을 읽는 getter 메소드이고 setNumber() 메소드는 변수 account_number에 대한 값을 설정하거나 업데이트하는 setter 메소드입니다.
종종 캡슐화는 추상화로 오해됩니다. 공부하자-
이 차이를 이해하는 간단한 예는 휴대폰입니다. 회로 기판의 복잡한 논리가 터치 스크린에 캡슐화되고 이를 추상화하기 위해 인터페이스가 제공되는 곳입니다.
java
Java에서 split() 문자열이란 무엇입니까? StrSplit() 메소드를 사용하면 특정 Java 문자열 구분 기호를 기반으로 문자열을 분리할 수 있습니다. 대부분 Java 문자열 분할 속성은 문자열을 나누거나 분할하려는 공백 또는 쉼표(,)입니다. split() 함수 구문 public String split(String regex) public String split(String regex, int limit) 매개변수 정규식:Java 분할의 정규식이 텍스트/문자열에 적용됨 제한:Java 문자열 분할의 제한은 배열의
자바에서 리플렉션이란 무엇입니까? Java Reflection은 런타임에 클래스의 모든 기능을 분석하고 수정하는 프로세스입니다. Java의 Reflection API는 런타임에 필드, 메소드, 생성자 등을 포함하는 클래스 및 해당 멤버를 조작하는 데 사용됩니다. Java에서 리플렉션 API의 한 가지 장점은 클래스의 private 멤버도 조작할 수 있다는 것입니다. java.lang.reflect 패키지는 리플렉션을 구현하는 많은 클래스를 제공합니다. java.lang.Class 클래스의 java.Methods는 특정 클래스의