Java 10. 객체지향프로그래밍 1
객체지향프로그래밍
1. 객체
- Object
-
우리가 표현할 수 있는 실세계의 모든 사물들을 객체라고 함.
- 물리적인 객체, 개념적인 객체로 나눌 수 있음.
- 팰리셰이드, 개, 고양이...
- 자동차, 동물...
- 학생, 회원, 주문, 배송...
public class User {
String UserName;
int UserCount;
String UserId;
int UserPw;
int UserGender;
int UserAge;
String UserClass;
}
2. 절차 지향 프로그래밍 VS 객체 지향 프로그래밍
-
아침에 일어나 학원을 가는 과정
-
절차지향 프로그래밍 ( 시간이나 사건의 흐름에 따른 프로그래밍 )
- 일어난다 -> 씻는다 -> 버스를 탄다 -> 요금 지불한다 -> 학원에 도착한다
- 객체지향 프로그래밍
씻는다
훈련생 -------> 물
탄다 /\
|
ㅁ \/
버스 --------> 학원
객체지향 프로그램 구현
-
객체를 정의하고
- 각 객체 제공하는 기능들을 구현하고
- 각 객체가 제공하는 기능들 간의 소통 (메세지 전달)을 통하여 객체간 협력을 구현
3. 객체를 클래스로 구현해 보기
객체 찾아보기
- 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문을 한다.
--- ------ --- ---- ---
클래스
- 객체와 관련된 데이터와 처리 동작을 한데 모은 코드 뭉치
- 어느 정도 특징적인 데이터와 동작으로 추려낼 필요가 있음
-
=> 추상화 ( Abstraction ) - 일반화
- 객체에서 특징적인 속성과 행위를 추출하는 과정
- 예 )
객체 목적 객체예 클래스
--------------------------------------------------
탈것 개인,이륜 자전거,오토바이 Bike
자동차 승용차,버스 Car
운송수단 자동차,배,비행기 Vehicle
--------------------------------------------------
- 추상화 작업(과정)
- 명사적인 특징을 뽑아냄 => 멤버변수(필드), member variable 추출
- 동사적인 특징을 뽑아냄 => 멤버함수(메서드). member method 추출
- 객체의 청사진 ( blueprint )
- 클래스는 객체를 프로그래밍에서 사용하려고 추상화해서 기술해놓은 설계도임.
-
프로그램밍에서 사용하려면 설계도를 기초로 실제로 만들 필요가 있음.
- 실체화된 것을 객체(Object)라고 함
- 객체를 생성한다, 인스턴스화 한다
- 소프트웨어에서 객체는 클래스라는 설계도대로 구현한 것을 메모리에 탑재해 메모리
주소를 부여한 것을 의미한다.
4. 객체와 클래스
1) 설계도 객체 생성 (인스턴스화) 실물
----------------------------------------------------------------------
실생활 자동차 설계도 공장 자동차
프로그래밍 클래스 new (메모리)값
2) 클래스타입 객체 생성
--- ---
Car myCar = new Car();
----- ---
참조 변수 생성자
댓글남기기