기본 개념
- 객체
현실세계에 독립적으로 존재하는 모든 것이다.
- 클래스
구현하고자 하는 객체를 만들기 위해 클래스가 필요하다.
여기서 클래스란 각 객체들의 속성(정보, 기능) 등을 담아낸 틀이다.
클래스는 1단계로 추상화 과정을 거친 후 2단계 캡슐화 해준다.
추상화 과정
1. 내가 구현하고자 하는 프로그램에서 필요한 객체들을 생각
예) 학생관리 프로그램 -> "학생"이라는 객체 필요. ex)아이유, 송강, 박민영, ...
2. 그 객체들이 가지고 있는 공통적인 속성, 기능들을 모두 추출
예) 나이, 이름, 성별, 키, 성적, 학년, 학번, ...
3. 추출한 속성들을 내가 구현할 프로그램에 기준에 맞춰 불필요한 속성을 제거
예) 발사이즈, 자가용유무, 자가유무, 형제자매, ...
4. 최종적으로 추려진 속성들을 가지고 클래스라는 틀을 만듬
어떤 자료형으로 어떤 속성을 만들 것인가
클래스 구조
public class 클래스이름 { //필드부
//생성자부
//메소드부 } |
필드부
- 형태
접근제한자 자료형 필드 이름;
- 접근제한자
해당 필드에 접근할 수 있는 범위 제한
클래스 안에서 필드 선언 시 반드시 작성
public > protected > default > private
/*Value Object*/
public class Student {
public String name;
public int age;
public char gender;
}
/*Run*/
public class Run {
public static void main(String[] args) {
//Student 클래스 생성
//클래스 타입
Student hb = new Student(); //Student클래스 틀로 학생 객체를 생성한것
//Student 클래스에 있는 속성으로 직접 값을 대입하자
hb.name = "김일등";
hb.age = 20;
hb.gender = '여';
Student sh = new Student()
sh.name = "최이등";
sh.age = 28;
sh.gender = '남';
Student me = new Student();
me.name = "이삼등";
me.age = 23;
me.gender = '여';
System.out.println(hb.name + "님의 정보");
System.out.println(hb.name);
System.out.println(hb.age);
System.out.println(hb.gender);
System.out.println(sh.name + "님의 정보");
System.out.println(sh.name);
System.out.println(sh.age);
System.out.println(sh.gender);
System.out.println(me.name + "님의 정보");
System.out.println(me.name);
System.out.println(me.age);
System.out.println(me.gender);
}
}
출력값
김일등님의 정보
김일등
20
여
최이등님의 정보
최이등
28
남
이삼등님의 정보
이삼등
23
여