참조 자료형 (Reference Data Type)
- 변수의 자료형
- 기본자료형 int, long, float, double 등
- 참조형 자료형 String, Data, Student 등 - 클래스 형으로 선언하는 자료형
정보은닉 (Information Hiding)
- private 접근 제어자
- 클래스 외부에서 클래스 내부의 멤버 변수나 메서드에 접근하지 못하게 하는 경우 사용
- 변수에 대해서는 필요한 경우 get(), set() 메서드를 제공
this 가 하는 일
- 자신의 메모리를 가리킴
- 생성자에서 다른 생성자를 호출
- this를 이용하여 다른 생성자를 호출 할 때는 그 이전에 어떠한 statement도 사용할 수 없다.
- this.ex 이전에 어떤 글도 쓸 수 없음
- 생성자가 여러개 이고 파라미터만 다른 경우 constructor overloading 이라 한다. - 자신의 주소를 반환
Static 변수
- 여러 개의 인스턴스가 같은 메모리의 값을 공유하기 위해 사용
- Data 영역, 정적영역, 상수 영역
- 전체 프로그램이 메모리에 로드될때 데이터 영역의 메모리에 할당된다 ( 상수, 리터럴, static 변수 )
- 따라서 인스턴스의 생성과 관계없이 클래스 이름으로 직접 참조 함
- Ex) Student.serialNum = 100; serialNum이 static 변수 - 멤버변수는 다른 말로 인스턴스 변수라고 함
Static 메서드
- static메서드에서는 멤버변수(=인스턴스 변수)를 사용 할 수 없다
- 인스턴스 변수의 경우 꼭 인스턴스가 먼저 생성되어야 하므로 static 메서드에서는 생성이 불확실 한 인스턴스 변수를 사용할 수 없음. static 메서드는 생성(=new)하지 않아도 존재하기 때문에 생성이 불명확하다
static 응용 : singleton 패턴
- 전 시스템에 단 하나의 인스턴스만이 존재하도록 구현하는 방식
자동차 회사가 있고 자동차 회사에는 직원들이 있고 자동차 회사에는 여러 개의 공장들이 있고 생산된 자동차를 운반하는 운반차들이 있다
위에서 객체는 무엇이고, 이 중에 자동차 회사 시스템을 만들 때 단 한개만이 존재하는 객체는 무었인가?
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
배열과 ArrayList (0) | 2020.06.25 |
---|---|
클래스와 객체 2 (0) | 2020.06.14 |
클래스와 객체 1 (0) | 2020.06.12 |
자바의 여러가지 연산자 (0) | 2020.06.12 |
변수와 자료형 (0) | 2020.06.10 |