사용자 삽입 이미지

  • 클래스 in JAVA

    public class Calculate     -> ①

    {

       

       public static void main(String args[])

       {

           system.out.println("Hello World!");

       }

    }

    사용자 삽입 이미지
    기본적으로 자바의 클래스는 위처럼 구성됩니다. ①번은 이 자바 프로그램에서 마치 C 언어의 메인 함수와 비슷한 역할을 하게 됩니다. 이제 저 코드 밑에 여러분들이 사용하고자 하는 클래스를 정의하면 되는 것이죠. 파일이름은 "클래스명.java" 로 해야 한다는 것은 저번 강좌때 말씀드렸습니다. 잊어먹으신건 아니시겠죠?

    그리고 보통 자바에서는 한 파일당 하나의 클래스만 들어가는게 좋은 방법입니다. 이 방법은 다른 자바 강좌를 참고하도록 하세요.

    class Dog

    {

       // 멤버 변수

       private String name;

       private String Breed;

       

       Dog(String dog_name, String dog_breed)

       {

           // 생성자.

           name = dog_name;

           Breed = dog_breed;

       }

     

       ~Dog()

       {

           // 소멸자

       }

     

       // 여기서부터 나오는 것은 메소드라 불리움

       public void Bark()

       {

           System.out.println("왈왈!");

       }

     

       public void WagTail()

       {

           Ststem.out.println(name + "이(가) 꼬리를 흔듭니다.");

       }

     

       public String getName()

       {

           return name;

       }

     

       public String getBreed()

       {

           return Breed;

       }

    }

    임시적으로 짜본 Dog 클래스입니다. class 뒤에 원하는 클래스명을 적으시면 원하시는 클래스가 되는 것입니다. 멤버 변수를 잘 보시면 private 라는 키워드가 보이시죠? 멤버 함수에도 보시면 public 이 보이실 것입니다. 이런 키워드들을 사용해서 앞에서 언급드렸던 Information Hiding를 할 수 있는 것입니다.

    일단 키워드 들에 대하여 설명을 드리도록 하죠.

    - private
    '개인적인' 이라는 뜻의 단어죠. 말그대로 이 키워드가 붙은 멤버 변수나 메소드 등은 그것의 클래스의 것이기 때문에 다른 곳에서는 접근을 할 수 없습니다.

    - public
    '공개의'라는 뜻을 가지고 있습니다. private와는 전혀 반대로써 다른 곳에서 이 값을 볼 수도 있고 값 변경도 가능합니다.

    - protected
    '보호되어 있는' 이라는 뜻이죠? private과 같은 속성을 가집니다. 하지만 상속을 받는 클래스에서는 private 변수는 사용할 수 없지만 protected 는 상속받는 클래스 내에서 사용이 가능합니다. private는 상속받은 클래스에서 조차도 접근을 할 수가 없죠.

    이제 Dog 클래스의 인스턴스를 생성해서 직접 사용해 보도록 하겠습니다.

    public class play_Dog

    {

       

       public static void main(String args[])

       {

            // 푸들종의 mary 라는 dog 인스턴스가 생성이 되었습니다.

           Dog a = new Dog("mary", "puddle");    -> ①

     

           a.bark();              // mary가 짖게 됩니다.

           a.WagTail();         // mary가 꼬리를 흔듭니다.

     

           a.name = "aga";

           // dog클래스의 name은 private이기 때문에 오류 발생

       }

    }

    ① 에서처럼 인스턴스를 생성하면 됩니다 new Dog( ) 괄호안에 들어갈 인자는 Dog클래스의 생성자에 써준 형식대로 넣어주면 됩니다.

    실행결과

    사용자 삽입 이미지

  • 강좌를 마치며

    이번 강좌에서는 JAVA언어를 다루는데 기초가 되는 클래스에 대해서 공부해 보았습니다. 아직은 이게 자료구조다 라고 할 만한 것을 배우지는 않았습니다. 이제 다음 강좌에서부터는 진짜로 Array나 Linked List같은 실제로 자료를 다루는 법에 대하여 배우게 될 것입니다. 저도 조금씩 더 노력해서 기사를 쓰도록 해야겠습니다. 다음장 Array에서는 배열에 자료를 저장하는 방법과 그를 이용한 활용을 배워보도록 하겠습니다. 그럼 다음 강좌에서 뵙도록 하죠.


  • Posted by 영웅기삼
    ,