Daily coding
Java Basic : day 9 - Class 은닉화(캡슐화) 복습 본문
복습!
1. 은닉화 (캡슐화) : 클래스의 필드에 직접 접근을 제어하고 메소드로 접근하여 데이터를 보호
- private / public / protected / package(default)
- 연산처리는 클래스 내부에서 member변수, member메소드로 처리함
- 변수에 접근하는 경우, getter/setter 메소드로 접근하도록 한다.
// 인스턴스의 선언
MyClass1 cls = new MyClass1(); // 기본 생성자 호출
cls = new MyClass1(12); // int형 매개변수를 1개 가지고 있는 생성자 호출
// 메인 클래스도 접근할 수 있다. (main 메소드가 있는 클래스)
Lecture01_review mc = new Lecture01_review();
mc.func();
}
// 메인 클래스에 정의한 함수
public void func() {
System.out.println("mainClass func() 호출");
}
}
// 1. 은닉화 복습 클래스
class MyClass1{
private int number;
private String [] strArr;
// 생성자
// 생성시에 자동호출 됨, Overloading 가능하다.
public MyClass1() {
this(12);
// this( )는 MyClass1(int number) 생성자에 12를 넣어 호출한다.
// this는 생성자를 호출할 때 사용할 수 있다.
// this를 사용하면 한번에 여러 생성자를 사용할 수 있다.
System.out.println("기본 생성자 MyClass1() 호출 ");
strArr = new String[10];
}
// constructor overloading
public MyClass1(int number) {
// int형 매개변수 1개를 받고 있는 생성자
System.out.println("생성자 MyClass1(int number) 호출 ");
}
// getter
public int getNumber() { // 명명규칙(camel back낙타등 규칙) 적용
return number;
}
// setter
public void setNumber(int number) {
this.number = number;
}
// method
public void method() {
System.out.println(" method() 호출");
System.out.println(" number : " + number);
}
// this 참조
public void thisPractice(int number) {
System.out.println("this 키워드");
this.number = number;
System.out.println("this.number : " + this.number);
System.out.println("number : " + number);
}
}
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 9 - Inheritance 상속 1 - extends 예약어, 접근제어자, super (0) | 2019.11.29 |
---|---|
Java Basic : day 9 - Static 스태틱 (0) | 2019.11.29 |
Java Basic : day 8 - Example 03: 파일 입출력 / 생성 클래스 구현하기 (0) | 2019.11.27 |
Java Basic : day 8 - Example 02: Sorting 정렬 클래스 구현하기 (0) | 2019.11.27 |
Java Basic : day 8 - Example 01: Baseball 게임 클래스로 구현하기 (0) | 2019.11.27 |