⭐ 클래스란?
- '객체를 정의하는 틀/설계도' 라고 할 수 있다.
- 유사한 특징을 지닌 객체들의 속성을 묶어 놓은 집합체이다.
- 즉, 동일한 속성과 행위를 수행하는 객체 집합이다.
- 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다.
- 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다.
- 클래스로부터 객체를 만드는 과정을 인스턴스화라고 한다.
- 하나의 클래스로 여러 개의 인스턴스(객체)를 만들 수 있다.
⭐ 클래스의 구성 요소
- [필드(속성) + 함수(기능)] + 생성자 함수
- 자바에서 클래스는 멤버로 속성을 표현하는 필드와, 기능을 표현하는 메소드를 가진다.
- 또한 클래스는 생성자를 가진다. (생성자: 생성된 객체의 필드를 초기화해주는 메소드)
⭐ 필드: 클래스에 포함된 변수를 의미한다. 객체의 상태를 나타낸다.
- 클래스 내에서 필드는 선언된 위치에 따라 다음과 같이 구분된다.
- 클래스 변수(static variable): static 키워드를 갖는 변수로, 객체 간 공유자원이다.
- 인스턴스 변수(instance variable): Heap안의 오브젝트(객체) 안에 생성되기 때문에 객체 변수(member field)라고 한다.
- 지역 변수(local variable): 함수 내에 위치하며, 반드시 초기화가 전제되어야 한다.
3-1. block variable: 함수 안에 if, while, for 등의 블럭 안에 들어가는 변수들
⭐ 메소드: 명령문의 집합이라고 할 수 있다. 객체의 행동을 나타낸다. =함수(function)
(접근 범위) (데이터타입) (전달되는 인수의 값들을 저장할 변수들)
접근제어자 반환타입 메소드이름(매개변수목록) { //선언부
// 구현부(메소드의 고유 기능을 수행하는 명령문의 집합)
}
⭐ 생성자: 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화할 수 있는 메소드
- 자바에서 생성자의 이름은 해당 클래스의 이름과 같아야 한다.
- 즉, Car 클래스의 생성자는 Car()가 된다.
- 클래스의 생성자는 어떠한 반환값도 명시하지 않는다
- 생성자의 호출: 자바에서는 new 키워드를 사용하여 객체를 생성할 때 자동으로 생성자가 호출된다.
⭐ 클래스의 종류
- class Test{ } : 독자적인 실행이 불가능하다. 다른 클래스를 도와주는 클래스(타입) // lib(라이브러리)
- class test{public static void main(String[] args) { }: 독자적인 실행이 가능한 클래스이다.
- 함수의 이름이 main → main이 있다면 main을 시작점(진입점)으로 보는 것으로 약속되어있다.
💡 파일 이름과 동일한 이름의 클래스 선언에만 public 접근 제한자를 붙일 수 있다. 만약 파일 이름과 일치하지 않는 클래스 선언에 public 접근 제한자를 붙이면 컴파일 에러가 발생한다.
'Back > Java' 카테고리의 다른 글
[Spring] 파일업로드, 파일다운로드 (1) (0) | 2022.03.25 |
---|---|
RESTApi / XML로 데이터 응답하기 (0) | 2021.09.17 |
JDBC 기초 (0) | 2021.07.21 |
서블릿 기초 (Servlet) (0) | 2021.07.20 |