참고 사이트
해당 클래스의 객체(Object 또는 Instance)를 생성하여 접근(Access)하고, 사용
class 클래스명 {
접근제한자:
멤버 변수1(속성);
멤버 변수2;
...
멤버 함수1(행동);
멤버 함수2;
...
};
✅ 접근지정자
public : 어디서든 접근이 가능 (외부에서도 모두 접근 가능)
protected : 클래스 내부에 정의된 함수에서만 접근 허용 (중요한 정보를 감출때 사용)
private : 기본적으로는 private이지만 상속관계에 놓여있을 때, 유도 클래스에서는 접근 허용
class 클래스명 {
// ..
};
class 상속클래스명 : 접근제한자 클래스명
{
// ..
};
(부모 클래스의 멤버 변수가 private일 경우) 부모의 멤버 변수는 부모의 멤버 함수를 통해 접근해야하기 때문에 부모의 생성자를 호출하는 것이 좋다.
부모 클래스의 생성자를 명시하지 않으면, 부모 클래스의 기본 생성자가 호출된다.
다시 말해, 멤버 변수는 항상 생성자에 의해 초기화된다.
생성자 호출 순서 : 부모의 생성자가 먼저 호출되고 자식 생성자가 이후에 호출
소멸자 호출 순서 : 자식이 먼저 소멸되고 그 후 부모 소멸
부모 클래스에서 private으로 접근 권한이 설정된 멤버변수의 값을 수정하거나 얻어올 때, 사용
멤버 변수의 값을 읽어오는 함수
다시 말해, get은 외부에서 꺼내는 메소드
public:
int get() { return 멤버변수; }
public int get()
이라는 매소드를 만들고, return 멤버변수
를 통해 외부에 멤버변수
를 반환
➡️ private 변수는 외부에서 접근할 수 없기 때문에 public int get()
를 만들어서 부모 클래스 내부의 private 변수를 외부에서 꺼내도록 해주는 메소드
멤버 변수의 값을 채워주는 함수
다시 말해, set은 내부에 넣어주는 메소드
public:
void set(int 멤버변수) { this.멤버변수 = 멤버변수; }
public void set(int 멤버변수)
라는 메소드를 만들고, 멤버변수
를 받아서 클래스의 필드인 private int 멤버변수 = this.멤버변수
에다가 값을 넣음
➡️ private 변수에 외부에서 받은 값을 대입해주기 위해 public void set(int 멤버변수)
를 만들어 외부의 멤버변수를 부모 클래스 내부의 멤버변수에 set하도록 입력해주는 메소드