NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    Java 17-1. Java의 클래스. (Class)

    페이지 정보

    본문

    안녕하세요. 소심비형입니다. 진짜 오랜만에 Java 관련 글을 작성하는군요-_-; 오늘은 객체 지향 프로그래밍(OOP, Object Oriented Programming)의 핵심 개념인 클래스에 대해 알아보겠습니다. C#의 클래스와 비교해보면 좀 더 재미있지 않을까 생각됩니다.

    C#의 클래스 ]

     

    먼저 객체 지향 프로그래밍이 무엇인가에 대해 생각 해 볼 필요가 있습니다. 그래야 왜 클래스인가라는 물음에 답할 수 있기 때문이죠. 이 내용은 위 링크에서 간단하게 설명하고 있습니다. 잠깐 시간을 내서 한번 읽어보는게 좋겠습니다.

    SOvg24F.png


    lsBUYdf.png
     

     

    이제 간단한 프로그램을 하나 만들면서 클래스가 무엇인지 알아보도록 하겠습니다. Eclipse를 실행하고, 패키지 익스플로러에서 새로운 프로젝트(ObjectOrientedProgramming)를 추가하고, 클래스(Cat)도 하나 추가하세요.

    IbyPhCV.png

     

     

    Java는 C#처럼 하나의 파일에 2개 이상 클래스를 선언할 수 없습니다. 그래서 예제로 사용할 Cat 클래스를 하나 더 추가해야 합니다.

    Cat.java

    import java.awt.Color;
     
    public class Cat {
        private String name;
        private Color color;
     
        public void setName(String name) {
            this.name = name;
        }
     
        public String getName() {
            return name;
        }
     
        public void setColor(Color color) {
            this.color = color;
        }
     
        public Color getColor() {
            return color;
        }
     
        public void Meow() {
            System.out.printf("%s : 야옹%n", name);
        }
    }

     

     

    Java는 C#처럼 속성(Property)에 대한 별도의 Syntax를 제공하지 않습니다. get, set을 이용하여 메소드를 만들어서 사용합니다. 라인 1과 같이 import 키워드를 사용하여 자바 패키지 내의 클래스를 가져올 수 있습니다. 필요한 기능들에 대해서는 검색을 통해 필요한 패키지를 다운로드하고 프로젝트에 추가하여 사용하면 됩니다. 하지만, 필요한 기능이 없다면 직접 구현해야 합니다.

     

    이제 고양이라는 개체를 사용하기 위해 인스턴스화 해야 합니다. 일반적으로 우리가 만든 Cat 클래스는 Cat이라는 형식을 정의할 뿐 개체는 아닙니다. 개체는 클래스를 기반으로 하는 구체적인 엔터티이며 클래스의 인스턴스라고 합니다.

    uQcmq9z.jpg

     

     

    응용 프로그램의 주 진입점을 만들고, 우리가 앞에서 추가한 Cat 클래스를 초기화하고 속성을 할당한 후 테스트 해보도록 하겠습니다.

    Default.java

    import java.awt.Color;
     
    public class Default {
        public static void main(String[] args) {
            Cat kitty = new Cat();
            kitty.setName("키티");
            kitty.setColor(Color.WHITE);
            kitty.Meow();
            
            System.out.printf("%s : %s%n", kitty.getName(), kitty.getColor());
            
            Cat nero = new Cat();
            nero.setName("네로");
            nero.setColor(Color.BLACK);
            nero.Meow();
            
            System.out.printf("%s : %s%n", nero.getName(), nero.getColor());
        }
    }
    

     

     

    개체는 5라인과 같이 new 키워드 뒤에 개체의 이름을 지정하여 생성할 수 있습니다. 개체를 생성하면 public 또는 protected, default와 같은 접근 제어자(Access Modifier)에 대해서는 필드에 접근이 가능합니다. 따라서 생성하고자 하는 클래스의 속성, 특성, 행동들을 지정할 수 있게 됩니다.

     

    아래는 이 응용 프로그램의 실행한 결과입니다.

    riAVttJ.png

     

     

    간단하게 클래스를 만들고, 어떻게 사용하는지 알아보았습니다. 프로그래밍을 접해본 개발자라면 그리 어려운 내용은 아니겠지만, 처음 Java를 접하게 된다면 잘 이해가 가지 않을 수 있습니다. 아직 클래스에 대해 알아볼 내용이 많기 때문에 천천히 이해하고 넘어가도 될거 같습니다. 다음에는 클래스의 기본 생성자(Constructor)에 대해 알아보겠습니다.

     

    다음 시간에...

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.