클래스
Updated:
강의 사이트
http://tcpschool.com/
클래스의 개념
1. 객체 지향 프로그래밍(OOP, Object-Oriented Programming)
- 객체 지향 프로그래밍에서는 모든 데이터를 객체로 취급하며, 이러한 객체가 바로 프로그래밍의 중심
- 객체란 실생활에서 우리가 인식할 수 있는 사물
- 이러한 객체의 상태와 행동을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍
2. 클래스
- 클래스는 객체를 만들어 내기 위한 틀 또는 설계도
- 클래스를 가지고 객체를 생성하여 사용
-
클래스는 객체의 상태를 나타내는 필드와 객체의 행동을 나타내는 메소드
- 필드란 클래스에 포함된 변수
- 메소드란 어떠한 특정 작업을 수행하기 위한 명령문의 집합
3. 인스턴스
- 자바에서 클래스를 사용하기 위해서는 우선 해당 클래스 타입의 객체를 선언해야 한다.
- 클래스로부터 객체를 선언하는 과정을 클래스의 인스턴스 화라고 한다.
- 선언된 해당 클래스 타입의 객체를 인스턴스라고 한다.
- 즉, 인스턴스란 메모리에 할당된 객체를 의미
4. 메서드
4.1 오버로딩
- 같은 이름의 메서드와 리턴 타입을 중복하여 정의하고 매개변수의 개수나 타입을 다르게 하여 같은 이름의 또 다른 메서드를 작성하는 것
클래스의 구성
1. 필드
-
선언된 위치에 따라 다음과 같이 구분된다.
- 멤버변수와 지역변수로 분류
- 멤버변수 : 클래스 영역에 선언. 여기서 다시 인스턴스변수와 클래스 변수로 분류
- 인스턴스 변수 : 클래스 영역에 선언. 각 변수마다 다른 값을 가짐.
- 클래스 변수 : 인스턴스 변수 앞에 static을 붙이기만 하면 됨. 인스턴스와 반대로 값을 공유.
- 지역변수 : 메소드 내에 선언. 메소드가 종료되면 사라짐. 반대로 멤버변수는 사라지지 않음.
- 멤버변수 : 클래스 영역에 선언. 여기서 다시 인스턴스변수와 클래스 변수로 분류
- 매개변수 : 흔히 파라미터라고 불림. 메소드에서 입력값을 받을 때 사용하는 변수. 메소드 내에서 선언되므로지역변수라고 간주.
public class Variable {
int a; // 기본형변수 & 맴버변수 & 인스턴스 변수
static String b; // 참조변수 & 맴버변수 & 스태틱 변수
void m(int c){ // 기본형 변수 & 지역변수 & 매개변수
int d=c; // 기본형 변수 & 지역변수
}
public static void main(String args[]) { // 참조 변수 & 지역변수 & 매개변수
int e=0; // 기본형 변수 & 지역변수
Variable v = new Variable(); // 참조 변수 & 지역변수
v.m(e);
}
}