재밌고 어려운 IT를 이해해보자~!
Section 07. 클래스 본문
01. 객체 지향 프로그래밍(Object-Oriented Programming)
객체는 일반적으로 상태를 표현할 수 있고 우리가 행동으로 실행할 수 있는 모든 것들을 말한다.
ex) 사람, 선생님, 직원, 수업, 시험
02. 객체와 클래스
클래스
객체를 생성하기 위한 제작 설명서라고 말할 수 있다.
하나의 클래스로 여러 개의 객체를 생성할 수 있다.
클래스 선언 및 객체 생성
접근제한자 class 클래스이름 {
}
class Car { //Car 클래스 선언
}
public class Ex {
public static void main() {
Car c = new Car(); 클래스명 객체명 =new 클래스명(); <-- 생성자 // 객체 생성 및 생성자를 통한 초기화
}
}
클래스의 용도는 다음과 같이 두가지가 있다.
-실행용 : 프로그램 전체에서 단 하나의 클래스로, 프로그램 실행을 전적으로 맡고 있다. 프로그램의 시작 메서드인 main ()을 가지고 있는 클래스를 말하며, 다른 클래에서 사용되지 않는다.
-라이브러리용 : 다른 클래스에서 이용할 목적으로 선언되는 클래스.
*한개의 소스파일에 public class 는 1개만 선언할 수있다.
03. 클래스의 구성
클래스 구성
클래스를 구성하는 3가지 요소는 다음과 같다.
- 필드
- 메서드
- 생성자
필드
필드는 객체가 가져야 할 데이터의 상태를 저장하는 변수를 말한다.
public class car { //클래스 선언
int wheel; //필드 선언
}
필드의 값을 초기화 하지 않으면 객체 생성시 자동으로 0 or null로 초기화된다.
메서드
객체의 기능을 담당하는 클래스내의 함수
반환타입 메서드명() {
// 기능을 수행할 코드 작성
}
생성자
객체를 생성할 때 반드시 호출해야 하는 메서드.
이 메서드는 객체를 생성하면서 객체 변수를 초기화하는 역할을 한다.
생성자라는 메서드는 클래스명과 이름이 같으며 클래스를 선언할때 별도로 선언하지 않으면 자동으로 기본 생성자가 생성된다.
필드와 메서드를 호출하는 등 객체를 사용하기 위해서는 객체 변수가 메모리에 올라가야 하는데, 이렇게 메모리에 객체 변수를 올려주는 여할을 생성자가 한다.
04. 정적 멤버와 static
인스턴스 멤버와 정적 멤버
각 객체가 가지게 되는 필드와 메서드를 인스턴스(객체)멤버변수 라고 말하며, 모든 객체들이 공유하며 사용되는 하나의 필드와 메서드를 정적 멤버변수 라고 말한다.
정적 멤버
'클래스에 고정되었다'라는 의미로 사용된다.
쉽게말해 객체가 아닌 클래스에 의존적인 요소라고 생각할 수 있다.
static이 앞에 붙은 멤버들은 객체를 생성하지 않고 바로 사용할 수 있다. 그 이유는 객체를 생성할 때 메모리에 올라가는 것이 아니라 프로그램을 시작할 때 메모리에 올라가고 프로그램이 종료될 때 메모리에서 사라지기 떄문이다.
static 멤버는 클래스명 + .(멤버접근연산자) 를 통해 사용한다.
'JAVA Book Study' 카테고리의 다른 글
Section 09. 생성자 (0) | 2023.12.29 |
---|---|
Section 08. 메서드 (0) | 2023.12.26 |
Section 06. 배열 (0) | 2023.12.17 |
Section 05. 제어문 - 2 (0) | 2023.12.17 |
Section 04. 제어문 - 1 (0) | 2023.12.17 |