Java 10. 객체지향프로그래밍 1

업데이트:
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();
             -----       ---
             참조 변수    생성자

댓글남기기