개발일지/수업내용

210727(화)_DAY 07

jungwonyu 2021. 8. 1. 19:48
728x90

[수업 목표]

 

1. 클래스 연동 및 non-static 구현을 이해할 수 있다.

2. 사용자 자료형을 설계하고 구현할 수 있다.

3. 클래스 멤버를 선언할 수 있다.

4. java class내의 getter&setter의 구조를 기술할 수 있다.

5. 생성자의 뜻과 목적을 이해하고 구현할 수 있다.

6. 객체를 생성하고 생성된 객체의 주소를 통해서 멤버를 자유롭게 호출할 수 있다.


[class]

= 사용자 자료형
 - class라는 키워드를 이용해서 사용자 자료형을 만들어 사용하는 자바에서 제공하는 특별한 키워드
 - user가 자주 사용하는 속성과 기능을 class라는 키워드를 통해서 내부에 선언을 통해 자료형 즉 사용자 데이터 타입을 만들 수 있다.
 -  NESTED | FIELD | CONSTR | METHOD 등 멤버를 선언할 수 있다.
 - 각각의 멤버는 접근제한자를 이용해서 자료형의 탐색 및 호출의 권한을 제어할 수 있다.
 - 자바의 클래스는 멤버변수는 은닉화 (private)시키고 오픈된(public) 메소드를 통해 값전달 및 변경(void setter), 값 리턴(return형 getter)하는 메소드를 사용한다.

 ⇢ full capsule = encapsulation

 

 * 형식
접근제한자 [final, abstract] class User_name{
  멤버; // 전역변수, 생성사, 전역메소드, 배열, inner class 등
 }

 

 * 선언
 //접근제한자: public, protected, default, private (아무것도 지정하지 않으면 기본적으로 default)
  public class MyTest{
  int a;
  int b;
  }


 * 생성 후 호출
  - new라는 키워드를 이용해서 선언된 클래스를 동적할당 후(객체생성) 주소를 대입받는 변수를 통해 클래스 멤버를 호출한다.
   1) 클래스이름 변수 = new  클래스이름();
   2) 변수.멤버

[생성자]
 1) 클래스 이름과 동일하되 반환형은 없다.
 2) 생성자는 overload 할 수 있다.
 3) 생성자는 상속되지 않는다.
 4) 생성자의 내부 키워드로 내부 생성자를 호출할 수 있는 this()와 선조의 생성자를 호출할 수 있는 super()를 사용할 수 있다.
 5) 생성자는 객체를 생성할 떄 한번만 호출되며 (new constructor())로 메소드처럼 호출할 수 없다.
 6) 생성자를 명시하지 않으면 default 생성자가 호출되고 명시하게 되면 명시된 생성자가 호출된다.
 7) 생성자는 클래스의 멤버를 초기화하는 목적을 가진다.
 8) 모든 클래스는 생성자를 가진다.

 

 eg/ 전역변수 생성 및 호출 + 확장

 

 eg/ 그림판으로 보는 class와 public static final field

  - class: 속성 변경 가능

  - public static final field: 항상 변하지 않고 그대로 존재함