~22.1.28
Class
- class 라는 키워드를 이용해서 사용자 자료형을 만들어서 사용하는 자바가 제공하는 특별한 키워드.
- User가 자주사용하는 속성과 기능을 class라는 키워드를 통해서 내부에 선언을 통해 자료형 즉 사용자 데이터 타입을 만들 수 있다.
- NESTED,FILED, CONSTR, METHOD등 멤버를 선언 할 수 있다.
- 각각의 멤버는 접근제한자를 이용해서 자료형의 탐색 및 호출의 권한을 제어 할 수 있다.
- 자바의 클래스는 멤버 변수는 은닉화(Private)시키고
- 오픈된 (public) 메소드를 통해 값전달 및 변경(void setter)
- 값 리턴 (return getter)하는 메소드를 사용한다. -> full capsule
[형식]
접근제한자 [final, abstract] class User_name { 멤버; // 전역변수,생성자,전역메소드,배열,inner class등등 }[생성 후 호출]
new라는 키워드를 이용해서 선언된 클래스를 동적할당 후(객체생성) 주소를 대입받는 변수를 통해 클래스 멤버를 호출한다.
.클래스이름 변수 = new 클래스이름(); // 생성자
.변수.멤버
생성자
- 클래스 이름과 동일하되 반환형은 없다.
- 생성자는 overload할 수 있다.
- 생성자는 상속되지 않는다. (상속)
- 생성자의내부 키워드로 내부생성자를 호출할 수 있는 this()와 선조의 생성자를 호출 할 수 있는 super()를 사용할 수 있다. (상속)
- 생성자는 객체를 생성할 때 한번만 호출되며 (new constructor()), 메소드처럼 호출할 수 없다.
- 생성자를 명시하지 않으면 default생성자가 호출되고 명시하게 되면 명시된 생성자가 호출된다.
- 생성자는 클래스의 멤버를 초기화하는 목적을 가진다.
- 모든 Class는 생성자를 가진다.