레이블이 자바 메모리 구조인 게시물을 표시합니다. 모든 게시물 표시
레이블이 자바 메모리 구조인 게시물을 표시합니다. 모든 게시물 표시

2016년 7월 27일 수요일

6day / SE / Variable scope

http://www.whatprogramming.com/

  • 자바 변수 ( Variable scope )

    instance variable or object member variable local variable

  • java 의 메모리 구조

method area , stack , heap 영역으로 구성된다
method area : class 의 메타 정보 ( method 정보 , static 정보 등) stack : 지역변수(local variable)의 데이터가 저장 heap : 객체 데이터(instance variable에 저장된 정보)가 저장

  • local variable (지역변수)

: 메서드 또는 생성자 단위에서 선언된 변수를 말한다
stack(선입후출) 영역에 저장 , 임시로 사용하기 위한 용도이다. 사용하기 위해서는 명시적 초기화가 필요하다. ex) int i; --> int i=0; 선언 및 초기화가 필요 제어문 내에서 선언될 경우 선언된 자신의 { } 영역내에서만 사용가능. 지역변수(local variable)은 선언된 자신의 실행영역이 수행을 마치면 stack 메모리에서 해제된다

  • instance variable ( or object member variable)

: 객체의 속성 정보를 저장하는 변수
heap 메모리 영역에 저장된다 선언만 할 경우 기본 초기화가 된다 (ex) 정수형일 경우 0 , reference data type일 경우 null boolean 일 경우 false

  • 객체 초기화 단계

1. 인스턴스 변수의 기본(디폴트) 초기화
ex) 0 or null or false .. int age; 선언될 경우

2. 인스턴스 변수의 명시적 초기화
ex) int age=1; 3. 생성자에 의한 초기화

  • use a relationship

use a relationship : 사람이 렌트카를 사용하다
TestUseA --- Person --- RentCar tour()
{ RentCar 객체생성 }

  • UML (Unified Modeling Language)

: 객체 지향 분석 설계시 사용하는 모델링 언어 (표기법) ex) class diagram , usecase diagram , sequence diagram 등

  • class diagram의 주요 관계

  1. association : 연관관계
  2. use a aggregation : 집합관계
  3. has a composition : 긴밀한 집합관계 consist of

  • has a relationship

사람이 스마트폰을 보유하다 TestHasA Person SmartPhone