ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 221208. 자바 3. 객체
    스타터스 백엔드 3기 2022. 12. 8. 16:53

    하루입니다.

     


     

    객체지향언어의 조건

    1. 캡슐화, 정보은닉 기능을 표현할 수 있는 문법이 있어야 한다.

    2. 상속을 표현하는 문법이 있어야 한다.

    3. 다형성을 포현하는 문법이 있어야 한다.

     

     

     

    객체지향프로그래밍이란?

    성적처리 프로그램
    절차지향 프로그래밍 객체지향 프로그래밍
    program {
        데이터 : 이름, 과목, 점수;
        기능 :
            과목 수강하다( ) { };
            시험보다( ) { };
            평가하다( ) { };
    }
    학생 파일 {
        이름, 과목명
        시험보다( ) { };
        과목 수강하다( ) { };
    }

    평가자 파일 {
        점수
        평가하다( ) { };
    }
    만약 평가방식이 변경되면, 이름 과목 점수 등이 바뀔 수 있다. 일부분만 변경되어도 전체가 변경될 수 있다.  만약 평가방식이 변경되면, 영향은 평가자파일만 받는다. 이름이 변경되면, 학생파일만 영향을 받는다. 구현 수정을 최소화한다.
     그런데 이 기준을 어떻게 할 것인가? 이 개념들을 무엇에 묶을 것인가? 객체지향에 묶는다.
      - 여러개의 파일로 분리되도록 설계한다.
    - 프로그램을 수정해야 할 때, 일부 파일만 수정 가능하도록 한다.
    - 한번만 구현하면 다른 곳에서도 사용 가능하다. 재사용.
    - 예를 들어, 취업 파일을 만들 때, 학생 파일을 사용할 수 있다.

     

     

     

    객체는 무엇인가?

    • 현실에서 볼 수 있는 명사로서 표현되는 모든 것이다.
    • 프로그래밍이란 현실세계를 컴퓨터 내부로 표현하는 것이다. 그 단위를 객체라고 하는 것이다.
    • 특성 : 정적 특성 + 동적 특성
    • 정적 특성 : 데이터, 정보, 속성         ===>      변수
    • 동적 특성 : 행위, 동작, 기능         ===>       메서드
    • 설계의 가장 처음에는?     
    • :     어떤 객체를 선택할 것이고, 어떻게 표현할 것인지를 생각해야 한다.
    홍길동 객체
    홍길동 교육생 홍길동 회사원
    정적 특성 정적 특성
    이름, 수강과목명, 교육장소, 수료여부 이름, 사번, 급여, 부서, 직급
    동적 특성 동적 특성
    수강하다, 출퇴근하다, 점심먹다, 졸다, 휴식하다 졸다, 휴식하다, 일하다

     

     

    class 교육생 {          ==>     붕어빵틀!
          String 이름;
          String 수강과목명;
          String 교육장소;
          boolean 수료여부;
          
          수강하다 ( ) { }
          출퇴근하다 ( ) { }
          점심먹다 ( ) { }
          졸다 ( ) { }
          휴식하다 ( ) { }


    }
    교육생 홍길동 = new 교육생("홍길동", :웹서버", "용산", true);

    교육생 박보검= new 교육생("박보검", :웹클라이언트", "영등포", true);
    저는 객체의 틀입니다. 객체의 템플릿입니다. 원본입니다. 객체를 생성합니다. 객체틀의 복사본입니다. 이렇게 적으면 오른쪽의 코드가 메모리에 생깁니다.

     

     

    • 객체는 동적, 정적으로 분석해야 한다.
    • 클래스는 변수와 메소드가 포함된다.

     


     

     

    객체! 붕어빵! 

     

    하루 끝!

     

     

     

Designed by Tistory.