728x90
반응형
- 상태정보(변수) : attribute, property, member
- 행위정보 : 동작(method), 기능(function)
객체생성 후 접근 방법 .(dot) 연산자
→ 객체의 상태정보를 직접 접근하면 잘못된 데이터가 저장될 수 있다.
→ 정보은닉 필요
생성자 메서드(Constructor)
- 객체를 생성할 때 사용되는 메서드
- 객체 생성 후 객체의 초기화를 하는 역할 수행
- 특징
- 클래스이름과 동일한 메서드
- 메서드의 return type이 없다(void 아님)
- public 접근 권한을 가진다. (단, private 생성자도 있음)
- 생성자가 없을 때는 기본 생성자가 만들어 진다.
생성자 중복정의(Overloading)
BookVO b = new BookVO();
BookVO b = new BookVO(”자바”,”20000”,”길벗”,790);
- 생성자 메서드를 활용하여 객체를 적절하게 초기화 하라. 중복정의(Overloading)
- 디폴트 생성자는 다른 생성자가 존재할 경우 만들어지지 않음
- → 사용하기 위해선 명시적으로 만들어서 사용
private 생성자 메서드(Constructor)
- 객체생성에 관여하는 생성자 메서드가 private 접근제어를 가지면 객체를 생성할 수 없다는 뜻이 된다.
- 그러므로 객체를 생성하지 않고도 사용가능 해야 한다.(모든 클래스의 멤버가 static 멤버가 되어야 한다.)
// → non-static 멤버인 경우(인스턴스 메서드)
// 객체생성 후 접근 가능
Inflearn inf = new inflearn(); // 생성자가 public인 경우
inf.tpc();
// -> static 멤버인 경우(클래스 메서드)
// 객체생성 없이 접근가능(클래스 이름으로 접근)
Inflearn.java();
// -> 클래스를 사용하는 시점에서 static 멤버는 먼저 자동으로
// 메모리에 로딩이 된다. 그 후에 호출이 된다.
// 생성자가 private이므로 객체 생성 불가
Inflearn inf = new Inflearn() // X
- 자주 사용하는 객체나, 동작은 static 멤버로 만든다.
- static 멤버 접근 방법
- → 클래스이름.클래스메서드(static 메서드)
- 💡 어떤 객체에 생성자 메서드가 private이면 모든 멤버는 static이 붙은 멤버가 되어야 한다.
728x90
반응형
'JAVA > Java TPC(생각하고, 표현하고, 코딩하고)' 카테고리의 다른 글
[JAVA] 잘 설계된 클래스(DTO, VO) (0) | 2022.07.19 |
---|---|
[JAVA] Class, Object, Instance 상호관계 (0) | 2022.07.19 |
[JAVA] 기본자료형(PDT) vs 사용자정의자료형(UDDT) (0) | 2022.07.17 |
[JAVA] JVM의 메모리 모델(JVM이 사용하는 메모리 영역 - 4가지) (0) | 2022.07.17 |
[JAVA] 메서드는 변수다(변수 vs 메서드 관계) (0) | 2022.07.17 |