public class Calculate -> ① {
public static void main(String args[]) { system.out.println("Hello World!"); } } |
그리고 보통 자바에서는 한 파일당 하나의 클래스만 들어가는게 좋은 방법입니다. 이 방법은 다른 자바 강좌를 참고하도록 하세요.
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에서는 배열에 자료를 저장하는 방법과 그를 이용한 활용을 배워보도록 하겠습니다. 그럼 다음 강좌에서 뵙도록 하죠.
'Programming > JAVA' 카테고리의 다른 글
[EKOO의 JAVA를 이용한 자료구조] 강좌 소개 및 목차 (0) | 2006.03.23 |
---|---|
[EKOO의 JAVA를 이용한 자료구조:2회] Class (2) (0) | 2006.03.23 |
[EKOO의 JAVA를 이용한 자료구조:3회] Array (1) (0) | 2006.03.23 |
[EKOO의 JAVA를 이용한 자료구조:3회] Array (2) (0) | 2006.03.23 |
[EKOO의 JAVA를 이용한 자료구조:4회] Linked List 구.. (0) | 2006.03.23 |