Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 자바상수
- 누승재귀
- 중첩for문
- 겟셋함수
- 자바클래스
- read()함수
- 변수의 초기화
- 자바연산자
- SQL
- 자바형식
- 자바기타제어자
- 반복문라벨
- 자바switch문
- 오버로딩
- 변수명명규칙
- 자바접근지정자
- 팩토리얼재귀
- 자바if문
- 기타제어자
- 자바수우미양가
- 오라클
- 자바제어문
- 자바별찍기
- 효율적인연산
- 클래스배열
- 자바실행방법
- 자바자료형
- 자바함수
- 프로그래머스
- 연산자우선순위
Archives
- Today
- Total
h-i-s-t-o-r-y
[Java] 접근지정자 - private / getter, setter 본문
> private 접근지정자
클래스 안의 멤버(필드, 메서드)를 private 으로 선언하면
해당 클래스 내부에서만 접근, 참조가 가능하다.
다른 클래스에서 참조하려고 하면 is not visiblr 접근지정자가 접근하지 못했다는 오류 발생
> private 선언된 필드에 접근하는 방법
1. public int a; 필드의 접근지정자를 public 으로 수정한다. (이럴거면 처음부터 public 했겠지?)
2. private 필드에 접근할 수 있는 public 메서드를 선언하는 방법 ***
우클릭+source 클릭해서 (단축키 : alt + shift + s) getter, setter (get(), set()) 함수 선언
MyPoint.java
package days16;
// x,y 좌표점를 관리하는 유용한 필드, 메서드를 구현한 클래스
// [private 멤버 변수가 접근 가능한 같은 클래스]
public class MyPoint {
// fields 속성
public int x;
int y;
// 생성자 오버로딩 가능
// 디폴트 생성자 [함수] 선언
public MyPoint() {
System.out.println("> MyPoint Default Constructor..");
}
public MyPoint(int i) {
x = i;
y = i;
System.out.println("> MyPoint 1 Constructor..");
}
public MyPoint(int i, int j) {
x = i;
y = j;
System.out.println("> MyPoint 2 Constructor..");
}
/* == public int z;
private int z;
// getter, setter 선언
public int getZ() {
return z; //읽기
}
public void setZ(int value) {
z = value; //쓰기
}
*/
// method 기능
public void pointOffSet(int n) //함수 원형, 프로토타입(prototype) 선언부
{ //함수 몸체 ./, 구현부
x += n;
y += n;
}
// p1.dispPoint()
// p2.dispPoint()
public void dispPoint() {
System.out.printf("> x=%d, y=%d\n", x, y);
}
// 리턴 자료형, 매개변수 자료형으로 [클래스] 올 수 있다구염
// 리턴 자료형 : 클래스 MyPoint
// 매개변수 자료형 : 클래스 MyPoint
// 참조형 반환타입
// p1 MyPoint p = p2
/*
public MyPoint plusPoint(MyPoint p) {
//새로운 MyPoint객체 mp를 생성
MyPoint mp = new MyPoint();
mp.x = x + p.x;
mp.y = y + p.y;
return mp;
}
*/
// p1.plusPoint(p2)
// p1 호출한 객체
public MyPoint plusPoint(MyPoint p) {
MyPoint mp = new MyPoint();
mp.x = this.x + p.x;
mp.y = this.y + p.y;
return this; // ㄷ. this 리턴값으로 사용되는 경우
}
}//class
Ex05.java
package days16;
import days15.Student;
public class Ex05 {
public static void main(String[] args) {
// MyPoint 클래스와 Ex05 클래스는 같은 패키지(days16)
MyPoint p1 = new MyPoint();
p1.x = 10; //public
p1.y = 20; //default(같은 패키지니까)
Student s1 = new Student();
int kor = 101;
s1.setKor(kor);
// 필드 - 읽기전용(getter), 쓰기전용(setter)
// s1.setTot(100); //쓰기작업
// s1.getTot(); //읽기작업
System.out.println(s1.getKor());
}//main
}//class
'Java' 카테고리의 다른 글
[Java] 생성자(Constructor) / this의 의미 (0) | 2021.07.17 |
---|---|
[Java] 가변인자(varargs)와 오버로딩 (0) | 2021.07.17 |
[Java] 객체 생성 예제 (0) | 2021.07.16 |
[Java] 객체 지향 프로그래밍 - 클래스(Class) / 객체(Object) / 인스턴스(Instance) (0) | 2021.07.16 |
[Java] 입력한 정수 n의 근사치인 배열 요소 찾기 (0) | 2021.07.16 |
Comments