본문 바로가기
JAVA SE/이론 및 개념

[20.07.09/Day_02] Java SE / OOP(Object Oriented Progamming) 개념

by 파프리카_ 2020. 7. 9.
728x90
반응형

[ 소프트웨어 개발 방법론 ]

절차 지향 객체 지향
정확하게 빠르게 많이 !  복잡한 업무를 효과적으로 !
소품종 대량 생산 다품종 생산
기능 중심 성능 중심
프로피디스크, 하드 등 AWS, 클라우드 등

 

1. 폭포수 모델 (Waterfall Model)

요구사항 분석 → 설계 →  디자인 → 코딩 → 개발 순 !

 

( 출처:  forty.co )

2. 애자일 모델 (Agile Model)

 

( 출처:  forty.co )

- 최근에 더 많이 쓰인다

- 기민하다

- 반복 ?! => 테스트 - 소통 - 추가 - 테스트 - 소통 - 추가 반복반복반복

- 예시 - 스크럼 방식 : 실리콘밸리에서 제럴드(도날드)가 제안한 방법이다 ! (시즌 1 참고) <- 이거 맘에 든다. 포스트 잇 하나하나 옮기면서 기분이 좋을 것 같다.

 

+ 소프트웨어 개발 생명 주기 (Life Cycle) 

    : 요구사항 분석 → 설계 → 구현 → 테스트 → 운영(유지보수)


[  객체 지향 개념 ( Object Oriented Concept ) ]

객체 지향 개념은 분석, 설계, 구현, 테스트, 운영 전반에 대하여,
어떤 방식으로 소프트웨어를 만들 것인지에 대한 철학이다. 

객체 지향이란 ?

   : 객체를 기본 단위로 객체와 객체의 관계를 중심으로 분석, 설계, 구현하는 기법이다. 

 

객체 Object

객체 Object
속성 attribute 기능 operation
변수 variable 메서드 method

  :  시스템의 기본 단위

    객체는 속성과 기능으로 구성된다. 

    -  시스템의 주요 사물, 개념같은 것들이 단위로서 객체가 될 수 있다.

        ex1 축구 |  선수, 감독, 경기장 .. 

        ex2 쇼핑몰 | 상품, 상점, 고객, 판매원, 구매 .. 

 

* Instance : 실재(실제 존재)화하는 것 (Object 용어와 같은 의미로 쓰임)

 

클래스 Class

  : 객체 생성을 위한 틀 or설계도 

Class (틀, 설계도) Object | Instance (기본 단위)
붕어빵 틀 붕어빵
건물 설계도 건물

 

*속성과 기능을 각각 변수, 메서드 공간에 수정, 활용하여  같은 Class로 서로 다른 Object를 생성할 수 있다. 

변수 variable (instance variable)

  : 속성 attribute로도 불린다.

  : 객체의 속성을 저장하는 공간이다. 

 

메서드 method

  : 기능 opertaion으로도 불린다. (algorithm, function ..)

  : 객체의 기능을 정의한다. 

  : 문법 

[접근제어자]_void 또는 return type_메서드명(매개변수){
	메서드 실행부
    [return]
}

   - 메서드 리턴값이 없으면 void 

   - 있다면 리턴값의 데이터타입을 명시한다.

 

예시 )

public void method1() {
   --
}

public String method2() {
	return --
}

 

** 자바 프로그램 개발 순서 **

1. Class 정의 → 2. 해당 Class를 이용하여 객체(Object) 생성 →  3. 메인 메서드가 있는 Class 실행

 

** 객체 생성 코드 **

Person p = new Persion() ;

  Peson : 클래스명

  p : 객체 주소값을 저장하는 변수

  = : 할당 assign

  Person() : 생성자 Constructor

? 응집도 ?

   : 본인의 역할에 충실하기 !!
     - 유지보수가 원활하게 진행되기 위해

~ Class를 각 폴더 별로 나누어 관리하는 이유 ~

 

 

접근제어자 Access Modifier

자바에서는 클래스(객체) 단위의 정보은닉(Information Hiding)을 위해,

접근 제어자를 통해 접근에 대한 설정을 한다. 

 

public  >  protected  >  default  >  private

public : 어느 곳에서도 접근이 가능하도록 설정

protected : 같은 패키지 내에서 접근 가능, 

                        단 상속시에는 다른 패키지에서도 접근 가능 

                        *상속 : 다음에 공부할 예정 !

default : 따로 명시하지 않을 경우 dafault로 설정,

                  같은 패키지 내에서만 접근 가능

private : 자신의 클래스에서만 접근 가능


[ 복습 ]

- java 개발 환경 설정 : jdk 다운 후 설치 , jdk/bin을 시스템 환경 변수에 등록

- IDE (통합개발환경) Eclipse 다운 후 실행

- JDK를 설치 해야만 컴파일이 진행 가능하다 . JDK를 설치하면 그 안에 jre가 있고, 그 안에 JVM이 있다. 

- JDK > JRE > JVM

   JVM 

  • 자바 가상 머신 : 클래스 파일(자바 실행프로그램)을 OS에 통역
                                  => java program을 실행한다. (main method부터 진행)
  • 메모리 관리 : C와 같이 개발자가 직접 메모리를 관리하지 않는다. 
                            => Garbage Collection을 JVM을 한다. 
                            => 실제 메모리 정보(Heap memory 영역)와 Stack영역으로 구분하여,
                                  Stack영역에서 주소값만 가져와서 관리한다. 
728x90
반응형