티스토리 뷰

728x90
반응형

객체지향 프로그래밍(Object Oriented Progamming)은 객체가 무엇인지 아는 것에서 시작한다.

 

객체를 알기 위해선 객체를 생성하는 도구인 클래스에 대해서도 알아야 하는데, 각각의 개념은 다음과 같다.

 

  • 객체(Object) - 우리가 인지할 수 있는 모든 것. 사용할 수 있는 실체
  • 클래스(Class) - 객체를 정의한 설계도 또는 틀

  • 클래스는 객체 자체가 아니라 객체를 생성하는 데 사용되는 하나의 틀에 불과하다.
  • 클래스를 통해 생성된 객체 인스턴스(Instance)라 부른다.

 

조금 추상적인 이야기라 이해하는데 어려움이 있었지만, 대략 위와 같은 단어에 익숙해지면 되는 듯하다.

 

객체와 인스턴스는 거의 같은 개념이지만 조금 다르다는 것도 알 수 있었다.

 

추가로 최초의 클래스를 잘 만들어 두면 두고두고 쓰임새가 있고 유지보수도 편하다고 한다.

 


클래스

클래스는 class키워드를 이용하여 아래와 같이 정의한다.

public class Car{
    int doors = 4;    // (1)필드
    void stop {...}   // (2)메서드
    Car {...}         // (3)생성자
    class Car2 {...}  // (4)내부 클래스
}

위의 구성요소 중 생성자를 제외한 세 가지 요소를 클래스(혹은 생성된 인스턴스=객체)의 멤버(Member)라 부른다.

 

각각 구성요소의 특징은 다음과 같다.

 

(1) 필드 - 클래스(객체)의 속성을 나타내는 변수. 차의 색깔, 문의 개수, 모델명 등이 있다.

(2) 메서드 - 클래스(객체)의 기능을 나타내는 함수. 차로 예를 들면 가속하기, 멈추기 등이 있다.

(3) 생성자 - 클래스의 객체를 생성하는 역할.

(4) 내부 클래스 - 클래스(객체) 내부의 클래스

 


객체

위에 적은 대로, 객체는 필드, 메서드, 내부 클래스의 멤버를 가지고 있다.

 

필드와 메서드는 각각 객체의 속성과 기능을 나타내며, 수학적으로 봤을 때 변수와 함수에 해당한다.

 

위에 작성한 자동차의 예를 계속 이어가다 보면, 변수와 메서드에 대한 이해를 더할 수 있는데,

 

이를 도식으로 표현하면 아래와 같다.

 

또한, 위에 정의된 클래스와 new 키워드를 이용해 인스턴스를 생성하는 과정은 다음과 같다.

 

class CarTest {
	public static void main(String[] args) {

	Car bmw = new Car();   // Car 클래스로 만들어진 bmw 인스턴스
	Car tesla = new Car(); // Car 클래스로 만들어진 tesla 인스턴스
	Car audi = new Car();  // Car 클래스로 만들어진 audi 인스턴스
    
}

 

필드와 메서드에 대해서는 또 많은 내용이 있어서 글을 분리한다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함