1. 객체
- 사전적 의미로 "의사나 행위가 미치는 대상"
- 구체적, 추상적 데이터의 단위 (ex: 학생, 회원, 생산, 주문, 배송 등)
2. 객체 지향 프로그래밍과 절차 지향 프로그래밍
아침에 일어나 학교에 가는 과정을 예로 들어보면
* 절차 지향 프로그래밍의 경우
- 시간이나 사건의 흐름에 따른 프로그래밍을 뜻한다.
(ex: 일어난다 -> 씻는다 -> 밥 먹는다 -> 버스에 탄다 -> 요금을 지불한다 -> 학교에 도착한다.)
- 대표적인 절자 지향 언어가 C이다.
* 객제 지향 프로그래밍의 경우
- 객체를 정의하고
- 각 객체가 제공하는 기능들을 구현하고
- 각 객체가 제공하는 기능들 간의 소통(메시지 전달)을 통하여 객체간의 협력을 구현한다.
- 대표적인 객체 지향 언어는 Python, JavaScript, C#, C++ 등이 있다.
3. 생활 속 객체를 찾아 클래스로 구현해보기
위와 같이 설명해도 여전히 감이 오지 않는다.
아래 예문에서 객체를 찾아보자. 정답은 글 맨 아래에 있다.
- 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문한다.
- 아침에 회사에 가는 길에 스타벅스에 들려 아이스 카페라떼를 주문했다.
- 성적확인을 위해 학사 관리시스템에 로그인하여 수강한 과목들의 성적을 확인했다.
4. 클래스는 객체의 청사진이다.
객체의 속성은 클래스의 멤버 변수로 선언한다.
아래 학생/주문/회원 클래스를 통해 각각의 객체를 생성해본다.
========== 01. 학생 클래스 ========== public class Student { int studentNumber; String studentName; int majorCode; String majorName; int grade; } ========== 02. 주문 클래스 ========== public class Order { int orderId; String buyerId; String sellerId; int productId; String orderDate; } ========== 03. 회원 클래스 ========== public class UserInfo { String userId; String userPassWord; String userName; String userAddress; int phoneNumber; } |
객체 지향 프로그램을 할 때는,
- 객체를 정의하고
- 각 객체의 속성을 멤버 변수로, 역할을 메서드로 구현하고
- 각 객체간의 협력을 구현한다.
클래스 코딩하는 방법은
- 클래스는 대문자로 시작하는 것이 좋다.
- java 파일 하나에 클래스는 여러 개 있을 수 있지만, public 클래스는 하나이고, public 클래스와 .java 파일의 이름은 동일해야 한다.
- camel notation 방식으로 명명한다.
3. 생활 속 객체를 찾아 클래스로 구현해보기 - 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문한다. (정답 : 회원/ 판매자/ 제품) - 아침에 회사에 가는 길에 스타벅스에 들려 아이스 카페라떼를 주문했다. (정답 : 나(주체)/ 회사/ 별다방 커피숍/ 커피/ 바리스타) - 성적확인을 위해 학사 관리시스템에 로그인하여 수강한 과목들의 성적을 확인했다. (정답 : 학생/ 과목/ 교수/ 강의실/ 통계자료 등등) |
'개발공부 > Java' 카테고리의 다른 글
[Java] 03. 인스턴스 생성과 힙 메모리 (heap memory) (0) | 2021.11.17 |
---|---|
[Java] 02. 객체의 속성은 멤버변수로, 객체의 기능은 메서드로 구현한다.(feat 함수와 메서드 개념) (0) | 2021.11.17 |
[eclipse] WebLogic Server 14.1.1 Web Services Sample Application Test (0) | 2021.09.17 |
[eclipse] WebLogic Server 12.2.1.4 연동하는 방법 (0) | 2021.09.13 |
[eclipse] Dynamic Web Project가 없을 때 (0) | 2021.09.09 |