"Java 접근 수정자"의 두 판 사이의 차이

잔글 (Jmnote님이 Java 접근 지정자 문서를 Java 접근 수정자 문서로 이동했습니다)
 
(사용자 3명의 중간 판 23개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;자바에서는 public, protected, private 그리고 접근 지정자를 생략하는 default, 이렇게 총 4개의 접근 지정자가 있다
;Java access modifier
;Java 접근 지정자
* 자바에서는 public, protected, private 그리고 접근 지정자를 생략하는 default, 이렇게 총 4개의 접근 지정자가 있다.
* 클래스가 public 접근 지정자로 선언되면 아래처럼 다른 어떤 클래스에서도 사용할 수 있게 된다.
* 클래스가 public 접근 지정자로 선언되면 아래처럼 다른 어떤 클래스에서도 사용할 수 있게 된다.
<syntaxhighlight lang='java' run>
 
public class MadPlay {
{| class='wikitable'
     /*
! 지정자 || 동일 클래스 內 || 동일 패키지 內 || 자식클래스 || 다른 패키지 || 비고
    * MadPlay 클래스가 public으로 선언되어 있기 때문에
|-
    * 다른 클래스에서 접근이 가능하다.
| public || O || O || O || O || 어디서든 접근 가능
    */
|-
| protected || O || O || O || X || 동일 패키지 내에서만 접근 가능
|-
| no modifier || O || O || X || X || default, package, package-private
|-
| private || O || X || X || X || 동일 클래스 내에서만 접근 가능
|}
 
==예시 1: public 메소드==
<syntaxhighlight line lang='java' multi file='Dog.java'>
public class Dog {
     public void bark(){
      System.out.println("Woof!");
    }
}
</syntaxhighlight>
<syntaxhighlight line lang='java' multi file='MyClass.java' main>
public class MyClass {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.bark();
    }
}
}
</syntaxhighlight>


class MadLife {
==예시 2: private 메소드==
     MadPlay madplay;
<syntaxhighlight line lang='java' multi=2 file='Dog.java'>
 
public class Dog {
     public void main() {
     private void bark(){
         madplay = new MadPlay();
      System.out.println("Woof!");
    }
}
</syntaxhighlight>
<syntaxhighlight line highlight=4 lang='java' multi=2 file='MyClass.java' main>
public class MyClass{
     public static void main(String[] args) {
         Dog dog = new Dog();
        dog.bark();
     }
     }
}
}
</syntaxhighlight>
</syntaxhighlight>
==같이 보기==
* [[접근 지정자]]

2022년 12월 17일 (토) 15:43 기준 최신판

1 개요[ | ]

Java access modifier
Java 접근 지정자
  • 자바에서는 public, protected, private 그리고 접근 지정자를 생략하는 default, 이렇게 총 4개의 접근 지정자가 있다.
  • 클래스가 public 접근 지정자로 선언되면 아래처럼 다른 어떤 클래스에서도 사용할 수 있게 된다.
지정자 동일 클래스 內 동일 패키지 內 자식클래스 다른 패키지 비고
public O O O O 어디서든 접근 가능
protected O O O X 동일 패키지 내에서만 접근 가능
no modifier O O X X default, package, package-private
private O X X X 동일 클래스 내에서만 접근 가능

2 예시 1: public 메소드[ | ]

public class Dog {
    public void bark(){
      System.out.println("Woof!");
    }
}
public class MyClass {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.bark();
    }
}

3 예시 2: private 메소드[ | ]

public class Dog {
    private void bark(){
      System.out.println("Woof!");
    }
}
public class MyClass{
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.bark();
    }
}

4 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}