객체지향 프로그래밍
간단히 설명하면 프로그램을 만들 때, 상태와 행위로 이루어진 객체들을 만들어서 그 객체들간의 조립, 의사소통을 통해 하나의 프로그램을 만드는 것이다.
접근자 메서드와 변경자 메서드
호출 대상 객체를 변경하는 메서드를 변경자, 객체를 변경하지 않는 메서드를 접근자라고 한다.
ArrayList 클래스의 add메서드가 변경자의 예다. add를 호출하면 배열리스트 객체가 변경된다.
* 이슈는 대부분의 컴퓨터는 CPU가 여러개라서 어떻게 안전하게 동시 접근하느냐다. 이 문제를 해결하는 방법은 접근자 메서드만 제공해서 객체를 변경할 수 없게하는 것인데 여전히 객체 변경이 필요할 때가 많다.
객체 참조
C++같은 프로그래밍 언어에서는 변수에 객체를 담을 수 있다. 하지만 자바는 변수에 오직 객체에 대한 참조만 담을 수 있다. ***** 아주 중요 ******
객체 참조를 담고 있는 변수를 다른 변수에 할당하면 같은 객체에 대한 참조를 갖게 된다.
즉, 같은 객체를 가리키고 조작함.
null 값은 예상하지 못한 상황에서 위험할 수 있으니 옵션값에는 null사용을 권장하지 않는다.
date = LocalDate.of(year, month, 1); // 지정한 월의 1일을 가리킴
date = date.plusDays(1); // 1일 후
첫 번째 객체 date는 지정한 월의 1일을 가리키고 있다가
두 번째 문장에서 +1일을 하면서 새로운 객체를 참조한다.
그러면 첫 번째에 가리키고 있던 객체는 그에 대한 참조를 가진 변수가 없으므로 가비지 컬렉션에 의해 메모리를 정리하게 된다.*****
'Java > JAVA' 카테고리의 다른 글
정적 변수와 정적메서드 (0) | 2017.05.20 |
---|---|
자바 객체지향프로그래밍 - 객체 생성 (0) | 2017.05.20 |
자바 기본프로그래밍 (3) (0) | 2017.05.20 |
자바 기본프로그래밍 (2) (0) | 2017.05.19 |
자바 기본프로그래밍 (1) (1) | 2017.05.19 |