Java에서 'private' 키워드는 Java 코드 블록의 클래스, 메소드 또는 변수에 대한 접근성을 제한하는 데 사용됩니다. 프로그램에서 클래스, 메서드 또는 변수에 비공개 권한이 부여된 경우 이는 공개 메서드와 달리 클래스 또는 메서드 외부에서 특정 클래스, 메서드 또는 변수에 액세스할 수 없음을 의미합니다. Private 키워드는 일반적으로 Java의 완전히 캡슐화된 클래스에서 사용됩니다.
Java의 개인 키워드는 특정 클래스 내에서 작동합니다. 클래스 외부에서는 접근이 불가능합니다. 클래스/클래스 및 인터페이스/인터페이스 외부에서는 작동하지 않습니다. Private 키워드는 클래스의 멤버가 PRIVATE이고 완전히 캡슐화된 클래스에서도 잘 작동합니다. Private 키워드, 변수 또는 메서드는 클래스 외부에서 PRIVATE METHOD를 호출하기 위해 일부 액세스 수정자를 사용하여 하위 클래스/클래스로 재정의될 수도 있습니다. 이를 통해 Private 키워드는 Private Access Modifier를 사용하여 클래스 외부에서도 작동합니다.
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
다음은 개인 수정자의 몇 가지 예입니다.
여기에서는 아래 예에 표시된 클래스 AB에서 액세스하는 개인 데이터 멤버로 인해 컴파일 오류를 표시하는 개인 액세스 수정자의 예를 설명합니다. Private 메서드나 Private 멤버는 특정 클래스 내에서만 액세스할 수 있습니다.
코드:
class AB{ private double number = 100; private int squares(int a){ return a*a; } } public class Main{ public static void main(String args[]){ AB obj = new AB(); System.out.println(obj.number); System.out.println(obj.squares(10)); } }
출력:
아래 프로그램에서 PRIVATE 키워드의 사용을 보여주는 예입니다.
코드:
class Emp{ private int id1; private String name14; private int age14; public int getId1() { return id1; } public void setId(int id1) { this.id1 = id1; } public String getName14() { return name14; } public void setName14(String name14) { this.name14 = name14; } public int getAge14() { return age14; } public void setAge14(int age14) { this.age14 = age14; } } public class Main{ public static void main(String args[]){ Emp e=new Emp(); e.setId(1473); e.setName14("Pavan Kumar Sake"); e.setAge14(24); System.out.println(e.getId1()+" "+e.getName14()+" "+e.getAge14()); } }
출력:
이 예에서는 기본값인 액세스 한정자를 사용하여 PRIVATE METHOD를 하위 클래스로 재정의하는 방법을 볼 수 있습니다. 하위 클래스에서 상위 클래스 메서드를 호출하는 것도 허용되지 않습니다.
코드:
class ABC{ private void msg() { System.out.println("Hey Buddy this is the parent class method"); //Output of the Private Method } } public class Main extends ABC{ // Private method is overridden using the access modifier void msg() { System.out.println("Buddy this is the child class method"); } public static void main(String args[]){ Main obj=new Main(); obj.msg(); } }
출력:
이 예에서는 PRIVATE METHOD가 클래스 외부에서 호출될 수 없음을 보여줍니다. 이제 클래스 런타임 동작을 변경하여 Private 메서드가 Outside 클래스에서 호출됩니다.
코드:
import java.lang.reflect.Method; class ABC { private void display() { System.out.println("Hey Now private method is invoked/Called"); } } public class Main{ public static void main(String[] args)throws Exception{ Class d = Class.forName("ABC"); Object p= d.newInstance(); Method n =d.getDeclaredMethod("display", null); n.setAccessible(true); n.invoke(p, null); } }
출력:
Java 프로그래밍 언어의 비공개 메소드 및 필드의 예입니다. 여기서 프라이빗 메서드/메서드는 컴파일 타임에 정적 바인딩을 사용하며 재정의할 수도 없습니다. Private 변수는 실제로 내부 클래스 내부에서 액세스할 수 있으므로 Private 변수 출력과 혼동하지 마십시오. PRIVATE 변수/변수가 클래스 외부에서 호출/호출되면 컴파일러에서 오류가 발생합니다.
코드:
public class Main { private String i_m_private1 = " \n Hey Buddy I am a private member and i am not even accessible outside of this Class"; private void privateMethod1() { System.out.println("Outer Class Private Method"); } public static void main(String args[]) { Main outerClass = new Main(); NestedClass nestc = outerClass.new NestedClass(); nestc.showPrivate(); //This syntax shows private method/methods are accessible inside the class/inner class. outerClass = nestc; nestc.privateMethod1(); //It don't call/invoke private method from the inner class because // you can not override the private method inside the inner class. } class NestedClass extends Main { public void showPrivate() { System.out.println("Now we are going to access Outer Class Private Method: " + i_m_private1); privateMethod1(); } private void privateMethod1() { System.out.println("Nested Class's Private Method"); } } }
출력:
아래에서는 Java에서 Private 메소드/필드를 사용할 때의 이점을 설명하겠습니다.
다음은 비공개를 위한 몇 가지 규칙과 규정입니다.
주요 주제를 마치며 Java에서 개인 키워드를 사용하는 것이 얼마나 유용하고 쉬운지 알게 되어 실제로 기쁩니다. 이 글에서는 private 키워드, private 변수, 접근 한정자, private 생성자, 그리고 프로그램에서 이러한 private 키워드를 사용하는 방법을 이해하시길 바랍니다.
위 내용은 자바의 비공개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!