객체(Object)
의사나 행위가 미치는 대상 (사전적 의미)
구체적, 추상적 데이터의 단위 (학생, 회원, 생산, 주문, 배송 등)
생활 속 객체
- 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문
- 아침에 회사에 가는 길에 카페에 들려 아이스 카페라떼를 주문(주문자, 바리스타 등)
- 성적확인을 위해 학사 관리 시스템에 로그인 하여 수강한 과목들의 성적을 확인(학생, 교수 등)
객체 지향 프로그램과 절차 지향 프로그래밍
아침에 일어나 학교를 가는 과정을 예로 들면
절차 지향 프로그래밍
- 시간이나 사건의 흐름에 따른 프로그래밍
- 일어난다 -> 씻는다 -> 식사를 한다 -> 버스를 탄다 -> 요금 지불 -> 학교 도착
객체 지향 프로그래밍
- 실제 세계를 모델링하여 프로그래밍
- 데이터와 절차를 하나의 덩어리로 묶어서 생각
- 캡슐화, 상속, 다형성

객체 지향 프로그램은 어떻게 구현?
객체를 정의(객체들이 가져야 하는 속성, 특성 등)
각 객체들이 제공하는 기능들을 구현
각 객체가 제공하는 기능들 간 소통(메세지 전달)을 통해 객체간의 협력을 구현
클래스는 객체의 청사진
- 객체의 속성은 클래스의 멤버 변수(member variable)로 선언
- 학생 클래스
public class Student {
int studentNumber;
String studentName;
int majorCode;
String majorName;
int grade;
}
- 주문 클래스
public class Order {
int orderId;
String buyerId;
String sellerId;
int productId;
String orderDate;
}
- 회원 클래스
public class UserInfo {
String userId;
String userPassWord;
String userName;
String userAddress;
int phoneNumber;
}
객체 지향 프로그램을 할 때
- 객체를 정의
- 각 객체의 속성을 멤버 변수로 역할을 메서드로 구현
- 각 객체간의 협력을 구현
클래스 코딩
- 클래스는 대문자로 시작
- java 파일 하나에 클래스는 여러 개가 있을 수 있지만, public 클래스는 하나이고, public 클래스와 .java 파일의 이름은 동일
- camel notation 방식으로 명명
'Java' 카테고리의 다른 글
| Java 언어의 특징 (0) | 2022.12.21 |
|---|