검수요청.png검수요청.png

"클래스"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(구성 요소)
43번째 줄: 43번째 줄:
  
 
*'''[[인터페이스]]'''(interface) : 추상메소드와 파이널 변수로만 이뤄진 클래스이다. [[추상 메소드]]가 속해 있는 경우 인터페이스는 객체를 생성이 불가능 하며 클래스가 인터페이스의 정의된 메소드를 구현해 주지 않으면 추상클래스로 선언해야한다.  
 
*'''[[인터페이스]]'''(interface) : 추상메소드와 파이널 변수로만 이뤄진 클래스이다. [[추상 메소드]]가 속해 있는 경우 인터페이스는 객체를 생성이 불가능 하며 클래스가 인터페이스의 정의된 메소드를 구현해 주지 않으면 추상클래스로 선언해야한다.  
 +
 
 +
public class Example{
 +
        public static void main(String[] args){
 +
            Parent parent = new Parent(){
 +
                public void run(){
 +
                    // 실제 구현 내용
 +
                }
 +
            };     
 +
        }
 +
  }
  
 
{{각주}}
 
{{각주}}

2020년 8월 4일 (화) 13:48 판

클래스(class)란 객체 지향 프로그래밍(OOP)에서 새로운 객체(object)를 만들기 위한 템플릿을 말한다. 클래스를 사용하여 인스턴스(instance)를 생성함으로써 객체를 만들 수 있다. 파일 확장자는 .class이다.

클래스는 변수메소드 등을 자신의 멤버로 가지고 있다. 하나의 클래스는 다른 클래스를 자신의 멤버로 포함(composite)할 수 있다. 이러한 성질을 이용해 작은 기능을 수행하는 여러 개의 클래스를 만든 후, 이들을 조립하여 커다란 클래스를 만들 수 있다.

자바에서는 어떤 프로그래밍이든 클래스 안에 속해있다. 다음 클래스 예제에서도 public static void main(String[] args) 기능이 클래스안에 속해 있는 것이다.

public class 클래스이름 {
	public static void main(String[] args){
       //프로그램 시작 시점 
    }
}

구성 요소

  • 멤버변수(member variable) : 클래스 안의 기능을 꺼내서 쓰기 위해 사용한다.
  • 메소드(method) : 기능을 나타낸다. ( 항상 '()'를 사용한다. )
  • 생성자(constructor) : 객체를 사용하기 전 객체를 생성해 주기 위해 사용한다.

구조

클래스 안의 기능을 꺼내 사용할 때는 멤버변수를 사용하고, 각 기능은 메소드로 나타낸다. 또한 객체를 사용하기위해 생성자를 사용한다. 예를 들어 아래의 예제는 멤버변수 a, b에 각각 10과 15의 default 값을 넣어주는 객체를 생성하는 코드이다.[1]

public class 클래스이름 {
    // 멤버 변수
    int a;
    int b;   
    // 생성자
    클래스이름(){
       a=10;
       b=15;
    }
    // 메소드
    public static void main(String[] args){
    //프로그램 시작 시점 
    }
}

종류

  • 추상 클래스(abstaract class) : 말 그대로 추상화 해놓은 클래스 구체적이지 않고 하위 클래스는 상위 클래스인 추상 클래스에서 완전히 구현하지 못한 것들을 구현해야지만 하위클래스 생성이 가능하다.
  • 상속(Inheritance) : 일반적으로 하위 클래스는 상위 클래스가 가지는 모든 특성을 사용할 수 있다. 또 상위 클래스는 하위 클래스들이 가질 수 있는 일반적인 상태와 행동을 정의한다.
  • 인터페이스(interface) : 추상메소드와 파이널 변수로만 이뤄진 클래스이다. 추상 메소드가 속해 있는 경우 인터페이스는 객체를 생성이 불가능 하며 클래스가 인터페이스의 정의된 메소드를 구현해 주지 않으면 추상클래스로 선언해야한다.
public class Example{
       public static void main(String[] args){ 
           Parent parent = new Parent(){
               public void run(){
                   // 실제 구현 내용
               }
           };      
       }
 }

각주

  1. 클래스 구성요소 및 구조, <(Java) 클래스(Class) - 기본 개념>, <<max9106>> , 2019-12-19

참고 자료

같이 보기


  검수요청.png검수요청.png 이 클래스 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.