JAVA프로그래밍 객체 지향

객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는것 중에서 자신의 속성을 가지고 있으면서 식별 가능한 것을 말한다. 물리적으로 존재하는 자동차, 자전거, 책, 사람과 추상적인 학과, 강의, 주문 등이 모두 객체가 될수있다.

장도차는 색깔, 모델명,등의 속성과 달린다, 멈춘다 동작이있다.

자바는 이속성과 동작을 각각 필드와 메소드라 말한다.

 

 

객체의 상호 작용

현실 세계에서 일어나는 모든 현상은 객체와 객체 간의 상호작용으로 이루져여있다. 사람은 전자계산기의 기능을 이용하고, 전자계산기는 계산 결과를 사람에게 알려주는 상호작용을 한다.

객체들은 각각 독립적으로 존재하고, 다른 객체와 서로 상호작용하면서 동작한다. 객체들 사이의 상호작용 수단은 메소드입니다.

객체가 다른 객체의 기능을 이용하는것이 바로 메소드 호출이다.

 

 

객체 간의 관계

객체는 개별적으로 사용될 수 있지만, 대부분 다른 객체와 관계를 맺고 있습니다.

 이 관계의 종류에는 집합관계, 상속관계가 있습니다.

  • 집합관계 - 객체는 하나는 부품이고 하나는 완성품에 해당합니다. 자동차는 엔진, 타이어,핸들 등으로 구성되므로 자동차와 이 부품들을 집합관계라고 볼수있다.
  • 사용관계 - 객체간의 상호작용을 말합니다. 객체는 다른 객체의 메소드를 호출하여 원하는 결과를 얻어냅니다. 사람은 자동차를 사용하므로 사람과 자동차는 사용 관계 라고 볼수있다. 사람은 자동차를 사용할 때 달린다. 멈춘다 등의 메소드를 호출하는것이다.
  • 상속관계 - 상위(부모)객체를 기반으로 하위(자식)객체를 생성하는 관계를 말한다. 상위 객체는 종류를 의미하고 하위객체는 구체적인 사물에 해당한다. 자동차는 기계의 한 종류이다 기계와 자동차는 상속관계에 있다고 볼수있다.

 

객체와 클래스

자바에서는 설계도가 바로 클래스입니다. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어있습니다.

클래스로부터 만들어진 객체는 해당 클래스의 인스턴스 라고한다.

 

객체 지향 프래그래밍 개발은 세 가지 단계가 있습니다.

  • 1단계는 클래스를 설계합니다.
  • 2단계는 설계된 클래스를 가지고 사용할 객체를 생성합니다.
  • 3단계는 생성된 객체를 이용합니다.

 

 

클래스 선언

사람객체의 클래스는 Person으로, 자동차 객체의 클래스는 Car라는 이름으로 줄수있습니다. 클래스 이름은 다른 클래스와 식별할 목적으로 사용되므로 자바의 식별자 작성 규칙에 따라 만들어야한다.

  • 하나 이상의 문자로 이루어져야한다. 예:Car, SpotsCar
  • 첫 글자에는 숫자가 올 수 없습니다.
  • '$', '_' 외의 특수 문자는 사용할 수 없습니다.
  • 자바키워드는 사용할 수 없습니다 예:int(x), for(x)

 

public 접근 제한자

public 접근 제한자는 파일 이름과 동일한 이름의 클래스 선언에만 붙일 수 있습니다.

 

 

 

객체 생성과 클래스 변수

클래스를 선언한 다음, 컴파일을 했다면 객체를 생성할 설계도가 만들어진 셈이다. 클래스로 부터 객체를 생성하려면 new 연산자를 사용하면됩니다.

new 클래스이름();

 

클래스 선언 부터 생성까지 예제입니다.

 

 

 

 

 

 

클래스의 구성 멤버

클래스의 구성멤버로는 필드, 생성자, 메소드 로 나뉘어져있습니다.

 

 

필드 

필드는 객체의 고유데이터, 부품객체, 상태정보 저장하는 공간입니다.

 

생성자

생성자는 new 연산자로 호출되는 특별한 중괄호 {} 블록 입니다. 생성자의 역할은 객체 생성 시 초기화를 담당합니다.

 

메소드

메소드는 객체의 동작에 해당하는 중괄호 {} 블록 입니다. 객체 간의 데이터를 전달하는 수단입니다.

외부로부터 매개값을 받아 실행에 이용하고, 실행 후 결과 값을 외부로 리턴할 수도 있습니다.

 

 

 

 

마지막정리

  • 클래스: 객체를 만들기 위한 설계도 입니다.
  • 객체: 클래스로부터 생성되며 'new 클래스()'로 생성합니다.
  • new 연산자: 객체 생성 연산자이며, 생성자를 호출하고 객체 생성 번지를 리턴합니다.
  • 클래스 변수: 클래스로 선언한 변수를 말하며 해당 클래스의 객체 번지가 저장됩니다.
  • 인스턴스: 객체는 클래스의 인스턴스입니다.
  • 클래스 멤버: 클래스에 선언되는 멤버는 필드, 생성자, 메소드가 있습니다.

 

 

====================================================================

위 내용은 혼자공부하는 자바 책을 기준으로 작성하는 글입니다.

개인공부 중입니다.

https://www.hanbit.co.kr/store/books/look.php?p_code=B5635758676

 

혼자 공부하는 자바

이 책은 독학으로 자바를 배우는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을’ ‘어떻게’ 학습해야 할지 조차 모르는 입문자의 막연한 마음을 살펴, 과외 선�

www.hanbit.co.kr

 

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유