Search

반응형

'java object'에 해당되는 글 1건

  1. 2019.07.11 [Java_Tutorial]24강-자바 코딩, 객체 사용[Using Objects, 자바 프로그래밍 기초 , 자바 튜토리얼]
반응형

[Oracle Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.]

[Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼]

객체 사용(Using Objects)

일단 객체를 생성하면 객체를 사용해야 할 것이다. 객체의 필드 중 어떤 값을 사용하거나, 바꾸거나, 또는 메서드를 호출하는 것들이다

객체의 필드 값 참조(Referencing an Object’s Fields)

객체의 필드는 이름으로 접근이 가능하다. 당연히 정확한 이름을 사용해야 한다.

필드명은 이해하기 쉽게 만드는 것이 중요하다. Rectangle 클래스의 widthheight같은 경우다.

Rectangle클래스의 객체를 r이라고 생성한 경우 widthheight 값을 사용하는 방법은 다음과 같다.

r.width r.height

객체 다음에 .를 사용해서 필드에 접근할 수 있다.

객체를 통하지 않고 width필드를 사용하면 컴파일 오류가 난다.

같은 클래스 타입의 객체를 2개 생성하면 각각의 객체가 widthheight값을 가지게 된다.

int height = new Rectangle().height();

이 구문을 실행하면 새로운 Rectangle 객체를 생성하고 즉시 그 객체의 height를 얻는다. 하지만 프로그램에서는 이 구문을 실행 후 다시 해당 객체에 접근할 수 없다. 왜냐하면 프로그램에서 어디에도 해당 객체를 저장하지 않았기 때문이다. Java 가상머신에서 해당 객체의 리소스를 제거하기 때문이다.

객체의 메서드 호출(Calling an Object’s Method)

객체의 필드를 사용했다면 이제는 객체의 메서드를 호출하는 방법을 알아본다. 메서드 또한 객체에 .을 찍고 메서드 명을 호출하면 된다. 메서드 명만 호출하면 안되고 선언된 파라미터도 ( ) 안에 인수 값을 넣어서 호출해야 한다.

객체.메서드명(파라미터들)

메서드의 파라미터가 하나도 없다면 객체.메서드명()으로 호출하면 된다.

 

 

인스턴스 필드처럼 메서드도 생성자 뒤에 바로 호출할 수 있다.

new Rectangle(10, 40).getArea();

특정한 객체의 메서드를 호출하는 것은 그 객체에 메시지를 전달하는 것과 같다.

가비지 컬렉터(The Garbage Collector)

일부 객체지향 언어에서는 생성된 모든 객체를 추적하고 더 이상 사용하지 않으면 명확하게 제거하는 것이 필요하다. 메모리를 명확하게 관리하는 것은 지루하고 에러를 쉽게 유발할 수 있다. 자바 플랫폼(Java platform)은 많은 객체를 (시스템이 허용하는 범위까지) 생성하는 것을 허용한다. 그리고 생성된 객체들을 제거하는 부분에 대해 걱정할 필요가 없다. JRE(Java Runtime Environment)는 객체들이 더 이상 사용되지 않는다고 판단되면 알아서 삭제한다. 이 프로세스를 가비지 컬렉터라고 한다.

객체는 더 이상 참조되지 않을 때 가비지 컬렉터를 실행한다. 변수에 포함된 참조는 변수가 범위를 벗어날 때 제거된다. 또는 객체를 특별한 값인 null로 설정해서 객체의 참조를 명시적으로 삭제할 수 있다. 기억해야 될 부분은 프로그램은 같은 객체를 여러 군데서 참조할 수 있다. 그래서 만드시 모든 참조를 삭제해야 가비지 컬랙터가 호출되는 것이다.

가비지 컬렉터는 더 이상 사용되지(참조되지)않는 객체를 삭제하는 기능으로 JRE에 포함되어 있는 프로세스고 필요한 시점에 자동으로 호출된다.

반응형