본문 바로가기
카테고리 없음

[Java] 07. 오브젝트 ( Object )

by 슈퍼닷 2015. 1. 17.
반응형

자바에는 Object라는것이 있습니다. 그래서 자바는 OOP  , 객체지향언어라고도 불립니다.

그에비해 C언어는 절차지향언어 입니다.  이제 Object에 대해 알아 봅시다.

 

Object란 객체입니다.

 

  객체라는 것은 하나의 물체입니다. 부분 부분이 모여서 하나의 물체가 완성된 것이 바로 객체입니다.

C언어는 절차지향언어이고 자바는 객체지향언어라고 했습니다.

이 둘의 차이는 무엇일까요?
절차지향은 하나를 따로 따로 절차적으로 하는것이고

객체지향은 그것들을 묶어서 하는것입니다.

예를들면 , 내가 물건을 사는 과정을 절차지향적 으로 또는 객체지향적으로 나타내 보겠습니다.

 

절차지향언어 : 내가 물건을 사러 나간다. 그러고나서 물건을 산다.

객체지향언어 : 내가 물건을 사러 나가서 그 물건을 산다.

 

예시를 보면 절차 지향언어는 따로따로 실행이 됩니다. 그러나 객체지향언어는 그 둘이 병합되서 실행이 됩니다.

Object란 그런것입니다. 기능들을  담아 하나로 만들어낸게 바로 Object 라는 것입니다.

그렇기에 객체지향언어는 어느면에서보면 뛰어나다고 느끼실 수 있을것입니다.

이제 이런 Object를 만들어 봅시다.

  Object는 어떤것을 담는 객체라고 했습니다. 우리도 Hello.java를 공부하면서 Hello class 가 main 메소드를 담아내는 것을

보셨을 것입니다. 이처럼 Object도 class를 이용해서 만들수 있습니다.

 

class Function

{

int c=3;

public void plus(int a,int b)

{

System.out.println(a+b);

}

}

 

Function class안에 c라는 변수와 plus 라는 메소드가 있습니다.

메소드를 만드시는 법을 모르시는 분들은 위에 plus 메소드처럼 만들어 내시면됩니다.

다만 void는 return 값이 없을때 사용하는것이므로 return값이 있는경우 void 대신에 return하는 값의 자료형을 써주시기

바랍니다.

아무튼 이렇게 Object의 기반을 마련했습니다. 이제 main메소드에서 본격적으로 이 Object를 사용해야겠죠?

Function fc = new Function();

 

이게바로 오브젝트를 생성하는 방법입니다.

앞서배운 String 오브젝트를 생성할때에도 String 변수명 으로 생성했던것처럼 ,

Function 오브젝트를 생성할 때에는 Function 변수명을 사용해서 생성해야 됩니다.

이제 Function fc 에 new Function() 의 값을 저장해서 fc는 Function을 참조하는 변수가 되었습니다.

Function 안의 변수와 메소드는 어떻게 꺼내볼수 있을까요?

 

Function fc= new Function();

int f = fc.c;

fc.plus(2,3);

 

여기서 f라는 변수에는 3이 저장되고 fc.plus를 통해서 plus메소드가 실행되서 5가 출력되는것을 보실수 있습니다.

예제를 보시면 . (dot) 을 통해서 점점 내부로 들어가는 것을볼수 있을텐데 . (dot) 은 하위계층으로 갈때 쓰는 표현입니다.

fc.c 는 fc 안으로 가서 c를 참조한게 되는것이죠.

 

  이런저런예제들로 간단하게 Object들을 만들어 보았습니다.

Object를 이해할수만 있다면 Java Programming 에 한층 더 깊이 들어간것입니다.

반응형

댓글