0812 6일차 수업내용
객체
객체란 ?
프로그램에서 표현하고자 하는 기능을 묶기 위한 단위
객체지향 프로그래밍
객체가 중심이 되는 프로그래밍 기법
클래스와 객체의 관계
객체를 생성하기 위해서는 객체의 설계도가 필요하다.
클래스 ( = class)
- 객체의 설계도 역할을 하는 프로그램 소스
- 공장에서 하나의 설계도를 사요아여 여러 개의 제품을 생산할 수 있는 것 처럼
하나의 클래스를 통해 동일한 구조를 갖는 객체를 여러 개 생성할 수 있다.
객체를 구성하는 단위
- 객체를 이루는 것은 데이터와 기능이다.
- 데이터는 변수로 표현된다,
-> 객체안에 포함된 변수를 '멤버변수' 또는 ' 프로퍼티'라 한다.
- 기능은 메서드(=함수) 로 표현된다 .
클래스의 기본 작성방법
class 클래스 이름{
멤버변수
void 메서드이름(){...}
}
- 'class'라는 예약어와 클래스의 이름을 명시하고 {} 블록을 구성한다
- 멤버변수는 여러개 존재할 수 있다. 이떄, 값을 선언과 동시에 할당할 수도 있고,
객체를 통해 간접적으로 할당할 수도있다.
- 메서드는 여러개 존재할 수 있다
- 클래스 안에 포함된 멤버변수와 메서드를 특성에 따라 그룹화 하기위한 기법이
클래스를 작성하는 것이라고 이해할 수 있다.
객체의 생성 방법
객체의 선언
클래스이름 객체이름 ;
객체의 할당
객체이름 = new 클래스이름();
객체의 선언과 할당의 일괄처리
클래스이름 객체이름 = new 클래스이름();
객체의 사용.
객체 안에 포함된 변수나 메서드는 점(.)으로 연결하여 접근한다.
객체안에 포함된 변수의 값을 다른 변수에 복사하는 경우
변수 = 객체이름.멤버변수;
객체안에 포함된 변수의 값에 다른 값을 대입하는 경우
객체이름.멤버변수 = 값 ;
객체 안에 포함된 메서드를 호출하는 경우
객체이름.메서드이름();
객체안에 포함된 메서드에 파라미터를전달하는 경우
객체이름.메서드이름(값1, 값2,...)
같은 클래스를 통하여 생성된 객체라 할지라도 서롤 다른 값을 대입하는 경우
값이 다를 경우 서로 독립적인 형태로 존재하게된다.
값이 대입되지 않은 멤버변수를 갖는 클래스
- 클래스란 객체를 위한 틀을 제공하는 것이기 때문에 , 클래스 작성과정에서
멤버변수에 대입된 값은, 객체를 통하여 멤버변수의 값을 지정하기 전까지
사용될" 기본값"으로서의 의미이다.
- 객체를 통하여 새로운 값이 대입되면 클래스 작성시에 멤버변수에 대입한 값은
의미를 잃어버리게 된다.
- 일반적으로 클래스 작성시에는 멤버변수에 값을 지정하지 않는다.
메서드를 포함하는 클래스
- 메서드란 프로그램에서 하나의 동작 단위를 의미한다.
- 두 개 이상의 메서드가 서로 동일한 대상을 위해 존재할 경우 , 이 메서드들을 클래스에 포함시켜 그룹화 할 수 있다.
- 클래스에 멤버변수와 메서드가 공존 할 경우 , 멤버변수는 모든 메서드가 공유하는 전역변수로 존재하게 된다.
메서드만을 포함하는 클래스
- 객체안에 멤버변수 (=데이터)가 포함되지 않는다.
- 객체안에 포함된 메서드를 호출하여 결과를 만들기 위한 목적으므로, 굳이 여러개의 객체를 생성할 필요가 없다.