객체 찾아보기
- 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문을 한다.
- (나) 아침에 회사에 가는 길에 별다방 커피숍**(바리스타)에 들려 아이스 카페라떼**를 주문했다.
- 성적확인을 위해 학사 관리 시스템에 로그인 하여 수강한 과목들의 성적을 확인했다.
- 학생, 과목, 교수, 강의실, 통계자료
→ 엔티티, 오브젝트, 도메인 등으로 불린다.
클래스는 객체의 청사진(blueprint) 이다.
학생에 대한 것을 클래스로 만들경우 학사관리 시스템에서 학생이 가져야하는 특징들이 있다. (학번, 학생이름, 전공과목코드, 전공과목이름, 학년 등)
클래스는 객체의 멤버변수를 담은 것 ? 학생 객체의 특징(멤버 변수)이 담겨있음.
- 객체의 속성은 클래스의 멤버 변수(member variable) 로 선언함.
학생 클래스
public class Student {
int studentNumber;
String studentName;
int majorCode;
String majorName;
int grade;
}
public
접근 제어자 (클래스 외부에서 이 클래스에 접근할 수 있는지 ?) : 공용이다. 어디서든지 접근 가능하다.
- 클래스명은 대문자로 시작하고 단어가 바뀔때마다 대문자로 작성해준다.
- 패키지는 소문자
- 하나의 자바 파일 안에 클래스가 여러개일 수는 있지만 public이라는 키워드를 가진 클래스는 1개만 가능. 클래스와 자바 파일명은 동일해야한다.
- 변수나, 메서드도 마찬가지로 소문자로 시작해서 중간중간 대문자로. 낙타의 등처럼 생겼다해서 camel notation 카멜노테이션ㅋ
객체 지향 프로그램을 할 때는
- 객체를 정의하고 (클래스를 만들고)
- 각 객체의 속성을 멤버 변수로 역할을 메서드로 구현하고 (메서드는 함수로 나중에 배울 예정~_~)
- 각 객체간의 협력을 구현한다. (interaction, collaboration)
클래스 코딩하기
- 클래스는 대문자로 시작하는 것이 좋음
- java 파일 하나에 클래스는 여러 개가 있을 수 있지만, public 클래스는 하나이고, public 클래스와 .java 파일의 이름은 동일함
- camel notation 방식으로 명명