객체지향 프로그래밍과 객체

김현·2023년 7월 10일

자바

목록 보기
11/31

1. 객체(object)

  • 프로그래밍에서의 객체 : 프로그램에서 표현하고자 하는 기능을 묶기 위한 단위

2. 객체지향 프로그래밍

  • 객체가 중심이 되는 프로그래밍 기법

3. 객체를 구성하는 단위

  • 객체를 이루는 것은 데이터와 기능이다
    -> 데이터는 변수로 표현된다.
    -> 객체안에 포함된 변수를 멤법변수 혹은 프로퍼티라고 한다.
    -> 기능은 메서드(=함수)로 표현이 된다.

4. 클래스와 객체의 관계

  • 객체를 생성하기 위해서는 객체의 설계도가 필요하다. (설계도 = 클래스)

5. 클래스

  • 객체의 설계도 역할을 하는 프로그램 소스
  • 공장에서 하나의 설계도를 사용하여 여러 개의 제품을 생산할 수 있는 것처럼 하나의 클래스를 통해 동일한 구조를 갖는 객체를 여러 개 생성할 수 있다.
  • 동일한 설계로 만들어지 자동차라 하더라도, 각각의 자동차를 구성하는 부품들은 그 형태만 같을 뿐 실제로는 각각 존재하게 된다.
  • 클래스를 작성하면서 그 안에 생성되는 멤버 변수들은 여러 개의 객체간에 서로 동일한 이름으로 존재하지만 실제로는 서로 다른 값이라는 의미

6. 클래스의 기본 작성방법

class 클래스이름{
    멤버변수;
	void 메서드이름(){
	...
    }
}
  • 'class'라는 예약어와 클래스의 이름을 명시하고 {...} 블록으로 구성한다.
  • 멤버변수는 여러 개 존재할 수 있다. 이때 값을 선언과 동시에 할당할 수 있고 객체를 통해 간접적으로 할당할 수도 있다.
  • 메서드는 여러 개 존재할 수 있다.
  • 클래스안에 포함된 멤버변수와 메서드를 특성에 따라 그룹화 하기 위한 기법이 클래스를 작성하는 것이라고 이해할 수 있다.

7. 객체의 생성 방법

  • 객체의 할당
    객체이름 = new 클래스이름();

  • 선언과 할당의 통합
    클래스이름 객체이름 = new 클래스이름();

8. 객체의 사용

  • 객체 안에 포함된 변수나 메서드는 점(.)으로 연결하여 접근한다.
    -> 객체이름.멤버변수 = 값;
    -> 객체이름.메서드이름();
    -> 객체이름.메서드이름(값1, 값2, ...);

9. 클래스를 정의하면서 멤버변수에 값을 직접 대입하는 경우

  • 객체를 생성함과 동시에 객체안에 name변수와 age변수가 할당된 값을 포함하게 된다.

  • 같은 클래스로 객체를 여러 개 생성할 경우 모든 객체가 동일한 값을 갖게 된다.

  • 멤버변수의 값을 지정하기 전까지 사용될 "기본값"으로서의 의미이다.

  • 일반적으로 클래스 작성시에는 멤버변수에 값을 지정하지 않는다.

    10. 메서드를 포함하는 클래스

  • 메서드란 프로그램에서 하나의 동작 단위를 의미한다.

  • 두 개 이상의 메서드가 서로 동일한 대상을 위해서 존재할 경우 이 메서드들을 클래스에 포함시켜 그룹화 할 수 있다.

  • 클래스에 멤버변수와 메서드가 공존할 경우 멤버변수는 모든 메서드가 고유하는 전역 변수로 존재하게 된다.

    11. 변수의 종류

  • 멤버변수(=전역변수)
    -> 클래스 안에서 선언된 변수로서 클래스 블록 범위 안에서 유효하다.

  • 지역변수
    -> 메서드 안에서 선언된 변수로서 메서드의 블록을 빠져나가지 못한다. 그러므로 다른 메서드는 해당 변수를 인식하지 못한다
    이 규칙은 조건, 반복문과 같은 블록 {}괄호를 형성하는 모든 경우에 해당된다.

12. 메서드만을 포함하는 클래스

  • 객체 안에 멤버변수(=데이터)가 포함되지 않는다.
  • 객체 안에 포함된 메서드를 호출하여 결과를 만들기 위한 목적이므로 굳이 여러 개의 객체를 생성할 필요가 없다.

0개의 댓글