티스토리 뷰

반응형


개발일지 4일차(2018-07-11)

전체 목록, 진행 상황 보기 : 링크 




Access Modifier

변수 또는 메소드의 접근 범위를 설정해주기 위해서 사용하는 Java의 예약어를 의미하며 총 네 가지 종류가 존재한다.

  • public
    어떤 클래스에서라도 접근이 가능하다.

  • protected
    클래스가 정의되어 있는 해당 패키지 내 그리고 해당 클래스를 상속받은 외부 패키지의 클래스에서 접근이 가능하다.

  • (default)
    클래스가 정의되어 있는 해당 패키지 내에서만 접근이 가능하도록 접근 범위를 제한한다.

  • private
    정의된 해당 클래스에서만 접근이 가능하도록 접근 범위를 제한한다.


Wrapper class


기본 자료형(Primitive data type)에 대한 클래스 표현을 Wrapper class라고 한다. IntegerFloatBoolean 등이 Wrapper class의 예이다. int를 Integer라는 객체로 감싸서 저장해야 하는 이유가 있을까? 일단 컬렉션에서 제네릭을 사용하기 위해서는 Wrapper class를 사용해줘야 한다. 또한 null 값을 반환해야만 하는 경우에는 return type을 Wrapper class로 지정하여 null을 반환하도록 할 수 있다. 하지만 이러한 상황을 제외한 일반적인 상황에서는 Wrapper class를 사용해야 하는 이유는 객체지향적인 프로그래밍을 위한 프로그래밍이 아니고서야 없다. 일단 해당 값을 비교할 때, Primitive data type인 경우에는 ==로 바로 비교해줄 수 있다. 하지만 Wrapper class인 경우에는 .intValue() 메소드를 통해 해당 Wrapper class의 값을 가져와 비교해줘야 한다.


- 변수 범위( Variable scope )

자바 변수의 종류 : instance variable, local variable, class variable(static variable)

자바 메모리 주요 구성 : heap, stack, class area 

instance variable 의 특징 

: 객체의 속성 정보를 저장 

heap 메모리 영역에 저장 

선언만 해도 디폴트 초기화 (ex - int 는 0, 참조형은 null, boolean은 false )

local variable 의 특징 

: 메서드와 생성자에서 임시로 사용하는 변수 

stack 메모리 영역에 저장 (선입후출 - 일시적으로 사용하다가 메모리에서 해제하는 것이 목적)

선언 및 명시적 초기화가 필요 ( ex - int i =1 )

메서드 또는 생성자 내에서 선언된다. 

local variable 은 선언된 자신의 실행영역({}) 내에서만 사용가능 

- 객체 관계( use a , has a relationship )

객체의 관계 use a( association ) : 사람이 렌트카를 이용하다. 

    has a (aggregation) : 사람이 스마트폰을 보유하여 사용하다. 

    consist of( composition ) : 사람은 뇌를 가지고 있다.

:  자동차는 엔진을 가지고 있다. 

    is a ( generalization ) : 사람은 동물이다. 




반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크