2014년 6월 12일 목요일

[Java] 클래스, 객체, 메서드

클래스

  • 정의 : 클래스란 객체를 정의해 놓은 것이다.
  • 용도 : 클래스는 객체를 생성하는데 사용된다.
  • 데이터와 함수의 결합(기능[method] + 속성[variable])
  • 구조체와 다른점 : 구조체는 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장하는 공간이지만 클래스는 기능을 수행하는 method의 기능도 수행한다.


객체의 정의

  • 정의 : 실제로 존재하는 것, 사물 또는 개념
  • 용도 : 객체가 가지고 있는 기능과 속성에 따름
  • 속성(property) : 멤버변수, 특성, 필드, 상태
  • 기능(function) : 메서드, 행위, 함수
  • 인스턴스와 객체는 같은 의미이다.

변수

  • 종류 : 클래스 변수, 인스턴스 변수, 지역 변수

  • 클래스 변수
    • 선언위치 : 클래스 변수
    • 클래스가 메모리에 올라갈 때 생성된다.
    • static, coast
  • 인스턴스 변수
    • 선언위치 : 클래스 변수
    • 인스턴스가 생성될 때 생성된다.
  • 지역 변수
    • 선언위치 : 지역 변수가 생성된 메서드, 생성자 등의 영역
    • 선언된 위치가 수행될 때, 수행 후 소멸한다.

메서드

  • 하나의 메서드는 한 가지 기능만 수행하도록 작성하는 것이 좋다.
  • 반복적으로 수행되어야 하는 여러 문장을 하나의 메서드로 정의해 놓으면 좋다.
  • 관련된 여러 문장을 하나의 메서드로 만들어 놓는 것이 좋다

리턴타입 메서드이름(타입 변수명, ... ...){
코드
}




메서드가 종료하는 2가지 종류

  • 메서드의 블럭 {} 내의 마지막 까지 수행하였을 경우
  • 메서드의 블럭 {} 내에 있는 문자열 수행 중 return문을 만났을 경우

  1. 반환값이 없는 경우 ( 리턴타입이 void 인 경우)
    • return;
      • return만 써주면 된다.
  2. 반환값이 있는 경우 ( 리턴타입이 void가 아닌 경우)
int add(int a, int b){
int c = a + b;
return c;
}

메서드의 호출
  • 참조변수.메서드이름();
  • 참조변수.메서드 이름(값1, 값2);
  • 같은 클래스 내의 메서드 끼리는 참조변수를 사용하지 않는다.
  • 서로 호출이 가능하다
  • static 메서드는 같은 클래스 내의 인스턴스를 호출 할수 없다.

댓글 없음:

댓글 쓰기