ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 객체지향언어 - 1
    Programming/JAVA 2013. 3. 30. 14:23
    728x90

    그런 JAVA에 대해서 알아보겠습니다.


    1.1 클래스

    객체지향에는 '클래스'가 존재합니다. 


    클래스  "클래스란 객체를 정의해 놓은 것 입니다."

    클래스의 용도 "객체를 생성하는데 사용된다."


    객체  "실제로 존재하는 것. 사물 또는 개념"

    객체의 용도 "객체가 가지고 있는 기능과 속성에 따라 다름"


    유형의 객체 "책상, 의자, 자동차, TV와 같은 사물"

    무형의 객제 "수학공식, 프로그램 에러와 같은 논리나 개념"


    1.2 객채와 인스턴스


    클래스로부터 객체를 만드는 과정을 "클래스의 인스턴스화" 라고 합니다.

    클래스로부터 만들어진 객체를 그 클래스의 "인스턴스" 라고 합니다.


    1.2 객체의 구성요소 - 속성과 기능

    객체는 속성과 기능의 집합이라고 할 수 있다. 그리고 객체가 가지고 있는 속성과 기능을 그 객체의 멤버라고 한다.

    "속성 - 멤버변수, 기능 - 메서드"  를 사용하겠다.

    속성(property) - 멤버 변수, 특성, 필드, 상태

    기능(function) - 메서드, 행위, 함수 


    ex) TV를 예로 들어보자 

    TV의 속성 - 전원상태, 크기, 길이, 높이, 색상, 볼륨, 채널

    TV의 메서드 - 켜기, 끄기, 볼륨 높이기, 채널 변경하기


    <pre class="brush:java;">


    class Tv {

    String color; &frasl;&frasl;색상

    boolean power; &frasl;&frasl;전원상태

    int channel; &frasl;&frasl;채널

    &frasl;&frasl;TV의 기능

    void Power();       

    void ChannelUp();

    void ChnnelDown();

    }


    </pre>


    1.3 인스턴스 생성과 사용

    Tv클래스의 인스턴스를 만들어서 사용해보도록 하자.


    클래스명 변수명;      //클래스의 객체를 참조하기 위해 참조변수를 선언한다.

    변수명 = new 클래스명(); //클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장한다.


    ex) 

    Tv v = null;       //Tv 클래스 타입의 참조변수 t를 선언

    v = new Tv();    //Tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t에 저장한다. 



    Source Code 설명


    Tv  t // Tv클래스 타입의 참조변수 t를 선언한다. 메모리에 참조변수 t를 위한 공간이 마련된다.


     Tv t               

     

    t = new Tv() //연산자 new에 의해 Tv클래스의 인스턴스가 메모리의 빈 공간에 생성된다. 주소가 0x100인 곳에 생성되었다고 가정하자. 이 때, 멤버변수는 각 자료형에 해당하는 기본값으로 초기화 된다.


    t    --------->    color : null

                            power : false

    channel : 0

    power()

    channelUp()

    channelDown()

    그 다음에는 대입연산자(=)에 의해서 생성된 객체의 주소값이 참조변수 t에 저장된다. 이제는 참조변수 t를 통해 Tv인스턴스에 접근할 수 있다. 인스턴스를 다루기 위해서는 참조변수가 반드시 필요하다. 






    'Programming > JAVA' 카테고리의 다른 글

    Java 소수점 계산  (0) 2013.07.15
    Java scanner 와 BufferedReader 차이  (0) 2013.07.15
    android path animation  (0) 2013.06.13
    android customAlertDialog + GridView  (0) 2013.06.13
Designed by Tistory.