객체란 ?

자바에 대하여 말하기전에 객체에 대해서 설명을 하고 자바에 대해 들어가야 할꺼같다. 자바를 공부할때 객체에 대해서 지속적으로 나오는데, 이 객체는 Class와 인스턴스를 포함한 개념이다. 그러므로 이 객체를 알기 위해서는 Class와 인스턴스를 알아야한다.

객체지향에서의 Class

객체지향에서의 Class는 일종의 설계도라고 보면된다. 자바에서 Class를 만들면 Class변수와 메소드를 넣어서 만드는데, 이와같은 방식으로 자동차에 대하여 Class를 만들면 일단 자동차의 속성으로 들어갈 바퀴,연료, 시트, 차체 등을 Class 변수로 만들어서 넣을것이다. 그리고 자동차의 기능인 전진, 후진, 방향전환, 속도제어등을 메소드로 넣을것이다. 그런식으로 Class를 만들면 자동차라는 Class가 만들어 지는 것이다.

객체지향에서의 인스턴스

위에서 Class를 만들고 그 Class를 기반으로 인스턴스를 만들면 그 Class에 포함되있는 모든것을 사용할 수 있는 인스턴스가 만들어 지는데, 이 인스턴스가 생성되는 순간 이 Class는 실체를 가지고 메모리에 올라간다. 이 올라간 인스턴스를 객체라고 한다. 우리가 만약 자동차를 사기전에 상상을 하면서 '아 나는 자동차를 타고 ~를 갈꺼야' 라는 생각을 할때, 그 자동차는 실체를 가지고 있지 않기 때문에 어디까지나 객체라고 할 수는 없는 것이나, 자동차를 사고 '나는 내자동차를 타고 ~를 갈꺼야' 하는 생각속에서는 내 자동차라는 객체가 있는것이 되는 셈이다.

자바내에서의 객체생성

Car mycar=new Car();

자바에서 객체를 생성을 하는경우 대부분 위와 같은 방식으로 객체를 생성한다. 이 부분을 나누어서 봐야하는데, Car mycar이부분은 그냥 객체를 담기위한 공간을 미리 선언을 해주는 부분이다 우리가 일반적인 변수를 생성할때도 int num까지 만 만들면 아무것도 없다고 생각하듯이 mycar에도 현재는 아무것도 없는 것이다. 그리고 new Car()부분에서 객체가 생성이 되며, 이 다음부터 mycar변수를 통해서 Car라는 Class에 접근이 가능해 지는 것이다. 이 사실을 이용하면 가끔 생성만 하고 접근을 할 필요가 없는 Class가 있는데, 그런 Class를 굳이 객체 변수에 저장을 할 필요가 없어지며, 객체를 매개변수나 리턴값으로 받을 때 좀더 깔끔하게 주고 받을 수 있게 된다.

results matching ""

    No results matching ""