객체를 정의하기 위한 단위
객체를 생성하는 템플릿 역할
속성(변수)과 기능(메소드)으로 이루어져 있음
구성요소
- 생성자 - 객체를 생성했을때 초기화
- 변수 - 클래스가 가지는 속성을 저장하는 공간
- 메소드 - 클래스가 할 수 있는 기능
메소드
- 클래스 내에서 정의된 함수
- 객체를 이용해 호출 가능
- 객체의 속성과 관련된 작업 수행 가능
함수
- 특정 기능을 수행하는 코드블럭
- 프로그램 어디서든 호출 가능
속성(변수)
- 멤버 변수 - 초기화하지 않아도 사용가능 / 기본값 자동 초기화
- 인스턴스 변수
- 클래스마다 독립적으로 존재
- 객체마다 고유한 값
- 객체가 선언되었을때 생성
- 클래스 변수
- 클래스가 메모리에 적재되었을때 생성
- 모든 객체가 공유하는 값
- 인스턴스 변수
- 지역변수
- 초기화 후 사용해야함
예시
Class Item {
// 속성(클래스 변수)
static String producer = "K";
// 속성(인스턴스 변수)
private Long idx;
private String name;
private int code;
private int grade;
private int count;
private int value;
// 생성자 - 클래스 내 생성자가 없을 시 컴파일 시 자동으로 생성
public Item() {}
// 생성자 오버로드
public Item(String name, int code, int grade) {
this.name = name;
this.code = code;
this.grade = grade;
}
// 메소드
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void method1() {
int i = 50; // 지역변수 - 사용전 초기화해야함
int j = i;
/* 에러
int x = y;
int y = 10;
*/
}
}
참고자료
자바의 정석
'자바' 카테고리의 다른 글
HashMap / HashTable (0) | 2023.02.08 |
---|---|
상속 / 포함 (0) | 2023.01.29 |
자바 이미지 크롭 (0) | 2023.01.26 |
가비지 컬렉션 (0) | 2023.01.24 |
직렬화 / 역직렬화 - 자바 (0) | 2023.01.17 |