썬키의 개발노트
클래스와 접근제한자 본문
21.11.24
:클래스
package ch06object;
public class BoardVOBasicProcessExample { //변수와 method를 갖고 있다.
//BoardProcessExample를 실행할 때 static으로 정의된 내용이 자동으로 올라간다.
//BoardProcessExample이라는 class는 main method를 가지고 있다.
public static void main(String[] args) {
//BoardVO를 사용하기 위해서 반드시 생성을 해줘야 한다.(new, static)
BoardVO vo = new BoardVO();
//게시판 정보 처리
vo.no = 10;
vo.title = "java";
vo.content = "java jjang";
vo.writer = "lee";
vo.WriteDate = "2021.11.24";
vo.hit = 0;
//method를 호출한다.
print(vo);
}
//Board 데이터를 출력하는 method - 데이터를 전달받아서 출력
//전달 되는 변수는 순서가 중요!
public static void print(BoardVO vo) {
System.out.println("번호 : " + vo.no);
System.out.println("제목 : " + vo.title);
System.out.println("내용 : " + vo.content);
System.out.println("작성자 : " + vo.writer);
System.out.println("작성일 : " + vo.WriteDate);
System.out.println("조회수 : " + vo.hit);
}
}
2.접근 제한자
:객체 안에 소속되어 있는 멤버(변수, 메소드)를 사용하기 위해
권한을 차등 부여하는 것
-접근 제한자를 사용하는 이유
: 데이터 보호, 프레임워크들이 setter()/getter() 형식을 원함
1)public(공공의)
생성/상속이 같은 패키지와 다른 패키지 모두 사용 가능
2)protected
같은 패키지에서는 생성/상속 가능, 다른 패키지에서는 상속만 가능
3)defalut(접근제한자가 없는 경우)
같은 패키지에서만 생성/상속 가능
4)private(사적인)
같은 클래스에서만 사용 가능
같은클래스 같은패키지 다른패키지 관계없음
public O O O O
protected O O O X
default O O X X
private O X X X
| 같은 클래스 | 같은 패키지 | 다른 패키지 | 관계 없음 | |
| public | O | O | O | O |
| protected | O | O | O | X |
| default | O | O | X | X |
| private | O | X | X | X |