Test090 클래스와 인스턴스 / 정보은닉(Information Hiding)과 접근제어지시자 / this
Test090.java
class CircleTest2
{
// 정보 은닉(Information Hiding)
// 멤버 변수, 인스턴스 변수, 전역 변수
// 『private』이라는 접근제어지시자의 선언은
// 클래스 내부에서만 접근 및 참조가 가능하게 하겠다는 의미.
// int 형 변수 0으로 자동 초기화 지원.
private int r;
void setR(int r)
{
//r = r;
//-- 이와 같은 형태로 표기하게 되면
// 멤버 변수와 지역 변수가 같은 이름을 갖고 있는 상황이기 때문에
// 둘 다 같은 지역변수로 인식하여 처리한다.
// 『this』는 자기 자신을 나타내는 예약어.
this.r = r;
//-- 멤버 변수를 지역 변수와 구분하기 위하여
// 클래스의 멤버 변수 앞에 『this』표기~!!
}
double calArea()
{
return r * r * 3.141592;
}
void write(double a)
{
System.out.println("반지름 : " + r);
System.out.println("넓 이 : " + a);
}
}
// main() 메소드를 포함하고 있는 외부의 다른 클래스
public class Test090
{
public static void main(String[] args)
{
// CircleTest2 클래스 기반 인스턴스 생성
CircleTest2 ob1 = new CircleTest2();
CircleTest2 ob2 = new CircleTest2();
// 넓이 연산 결과를 담을 변수 선언
double result;
// 첫 번째 인스턴스(ob1) 의 반지름을 10으로 초기화~!
// ob1.r=0; //-- 에러 발생(컴파일 에러)
// System.out.println(ob1.r); //-- 에러 발생(컴파일 에러)
// ※ 『private』 변수는 외부에서 접근이 불가능하다.
ob1.setR(10);
result = ob1.calArea();
ob1.write(result);
//--==>> 반지름 : 10
// 넓 이 : 314.1592
// 두 번째 인스턴스(ob2)의 반지름을 20으로 초기화~!!
// ob2.r = 20;
ob2.setR(20);
result = ob2.calArea();
ob2.write(result);
//--==>> 반지름 : 20
// 넓 이 : 1256.6368
}
}
cmd
반지름 : 10
넓 이 : 314.1592
반지름 : 20
넓 이 : 1256.6368
계속하려면 아무 키나 누르십시오 . . .
'Study Note > Java' 카테고리의 다른 글
JAVA_ Test092_ 클래스와 인스턴스 / 클래스 변수(static 변수) 와 클래스 메소드(static 메소드) (0) | 2018.04.30 |
---|---|
JAVA_ Test091_ 클래스 설계 / 배열 활용 / 년, 월, 일을 입력받아 요일을 출력하는 프로그램 (0) | 2018.04.30 |
JAVA_ Test089_ 배열 / 난수처리 / 임의의 난수 큰 수, 작은 수 선택출력 프로그램 (0) | 2018.04.30 |
JAVA_ Test088_ 배열의 기본적 활용 / 1 2 3 4 5 \n 5 1 2 3 4 ... (0) | 2018.04.30 |
JAVA_ Test087_ 배열의 개요 / 2차원 배열 (배열의 배열, 다차원 배열) arr[][] (0) | 2018.04.30 |
댓글