1. 객체지향 프로그래밍과 객체
class 클래스 이름{
멤버변수;
void 메서드이름(){
...
}
}
- class 라는 예약어와 클래스의 이름을 명시하고 {...} 블록으로 구성한다.
- 멤버변수는 여러 개 존재할 수 있다. 이 때, 값을 선언과 동시에 할당할 수 있고, 객체를 통해 간접적으로 할당할 수도 있다.
- 클래스 안에 포함된 멤버변수와 메서드를 특성에 따라 그룹화하기 위한 기법이 클래스를 작성하는 것이라고 이해할 수 있다.
2. 객체의 생성 방법
3. 객체의 사용
- 객체 안에 포함된 변수나 메서드는 점(.)으로 연결하여 접근한다.
-> 객체이름.멤버변수 = 값;
-> 객체이름.메서드이름()
-> 객체이름.메서드이름(값1. 값2, ...);
4. 클래스를 정의하면서 멤버변수에 값을 직접 대입하는 경우
- 객체를 생성함과 동시에 객체 안에 변수1과 변수2가 할당된 값으로 포함하게 된다.
- 같은 클래스로 객체를 여러 개 생성할 경우, 모든 객체가 동일한 값을 갖게 된다.
- 멤버변수의 값을 지정하기 전까지 사용될 기본값으로서의 의미이다.
- 일반적으로 클래스 작성시에는 멤버변수에 값을 지정하지 않는다.
5. 메서드를 포함하는 클래스
- 메서드란 프로그램에서 하나의 동작 단위를 의미한다.
- 두 개 이상의 메서드가 서로 동일한 대상을 위해서 존재할 경우, 이 메서드들을 클래스에 포함시켜 그룹화 할 수 있다.
- 클래스에 멤버변수와 메서드가 공존할 경우, 멤버변수는 모든 메서드가 공유하는 전역변수로 존재하게 된다.
6. 변수의 종류
-
멤버변수(=전역변수)
-> 클래스 안에서 선언된 변수로서, 클래스 블록 범위 안에서 유효하다.
-
지역변수
-> 메서드 안에서 선언된 변수로서, 메서드의 블록을 빠져나가지 못한다. 그러므로 다른 메서드는 해당 변수를 인식하지 못한다. 이 규칙은 조건, 반복문과 같은 블록 {}을 형성하는 모든 경우에 해당된다.
7. 매서드만을 포함하는 클래스
- 객체 안에 멤버변수(=데이터)가 포함되지 않는다.
- 객체 안에 포함된 메서드를 호출하여 결과를 만들기 위한 목적이므로 굳이 여러 개의 객체를 생성할 필요가 없다.