[이것이 자바다] 책으로 공부하고 정리하는 글
객체와 클래스
클래스는 객체를 정의한 것. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다.
클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 한다.
하나의 클래스로부터 여러 개의 인스턴스를 만들 수 있다.
즉, 클래스는 객체를 만들기 위한 설계도고 이 설계도로 만들어진 것이 곧 객체다.
클래스 선언
소스 파일 생성: 클래스이름.java ㅡ(컴파일)→ 클래스이름.class(바이트 코드 파일)
public class 클래스이름 {
}
소스 파일 당 하나의 클래스를 선언하는 것이 관례지만 두 개 이상의 클래스도 선언이 가능하다. (but 권장X)
소스 파일 이름과 동일한 이름의 클래스만 public으로 선언할 수 있다. 선언한 개수만큼 바이트 코드 파일이 생성된다.
Car.java(class Car, class Tire) ㅡ(컴파일)→ Car.class, Tire.class
객체 생성과 클래스 변수
new 연산자
객체를 생성하는 역할을 한다. (heap 영역에 생성한다.)
new 연산자는 객체를 생성한 후, 객체 생성 번지를 리턴한다.
클래스 변수
new 연산자에 의해 리턴된 객체의 번지를 저장하는 변수(참조 타입)다.
힙 영역의 객체를 사용하기 위해 사용된다. (변수는 stack 영역에, 객체는 heap 영역에)
클래스 변수;
변수 = new 클래스();
클래스 변수 = new 클래스();
/////////////////////////////////////////////////////
class Book {
}
public static void main(String argv[]) {
Book book = new Book();
}
클래스의 용도
- 라이브러리(API) 용도 : 자체적으로 실행되지 않으나 다른 클래스에서 이용할 목적으로 만든 클래스
- 실행용 : main() 메소드를 가지고 있는 클래스로 실행할 목적으로 만든 클래스
1개의 애플리케이션 = 1개의 실행 클래스 + n개의 라이브러리 클래스
클래스의 구성 멤버
- 필드 : 객체의 데이터가 저장되는 곳
- 생성자 : 객체 생성시 초기화 담당
- 메소드 : 객체의 동작에 해당하는 실행 블록
public class ClassName {
// 필드
int fieldName;
// 생성자
ClassName() { ... }
// 메소드
void methodName() { ... }
}
'공부 > JAVA' 카테고리의 다른 글
[클래스] Class(2) (0) | 2020.06.04 |
---|---|
[클래스] 객체지향 프로그래밍 (0) | 2020.06.03 |