[JAVA] 클래스(class) / 객체(object)

2016. 11. 23. 00:18프로그래밍/JAVA

    목차

클래스 / 객체


클래스란? 

어떤 특정 종류의 모든 객체들에 대해 일반적으로 적용할 수 있는 변수와 메소드를 정의하고 있는 소프트웨어적인 설계도(blueprint) 또는 프로토타입(prototype)

실 세계에 존재하는 객체가 가질 수 있는 상태와 행동들에 대해 소프트웨어적으로 추상화 한 것


객체란? 

사전적 정의 : '실제로 존재하는 것'

우리 주변에 흔히 볼 수 있는 사물들 '컴퓨터', '휴대폰', '책상', '의자' 등

소프트웨어적 정의 : 클래스를 실제 사용할 수 있도록 변수 선언한 것을 인스턴스라하며, 이 인스턴스를 객체라 할 수 있다. 객체는 높은 모듈성과 정보은닉의 장점을 제공한다.


  작성형식


위에 사진은 클래스에 대하여 조금 더 쉽게 다가가기 위한 사진으로 동일한 틀(클래스)을 가지고 붕어빵, 토스트(객체)를 만들어 내면 항상 동일한 형태의 결과를 얻을 수 있다라는 말이다. 
우리가 흔히 알고 있는 사물들에 대하여 공책에 적는 과정을 생각하면 좀 더 클래스라는 것을 쉽게 생각해 볼 수 있을것 같다. 예를 들면 사람을 클래스로 표현 한다고 했을 때 이름, 성별, 나이, 주소, 연락처 등 우리가 이력서나 회원가입을 할 때 작성하는 항목을 가지고 클래스로 표현할 수도 있고 TV 같은 물건을 클래스로 표현하면 화면에 넓이, 높이, 색상 등에 정보로 하나의 클래스를 작성할 수 있는 것이다. 방금 예를 든 것들은 그 객체가 가지고 있는 속성들만을 나열한 각 객체가 가지고 있는 행동들도 클래스 내에 작성 될 수 있다. 사람이 걸어 간다거나 음식물을 섭취 한다거나 하는 일련의 행동들이 소프트웨어적인 측면에서 본다면 하나의 메서드가 되는 것이다.

 

  내용


TV라는 객체를 클래스로 만들어 본 코드이다. 위에 정의해 놓은 속성들 보다 많은 정보가 있을 테지만 여기에서는 간단히 필요로 하는 정보만을 추상화 하여 작성했다. 넓이, 높이, 색상이라는 속성은 TV라는 객체가 모두 가지고 있는 공통적인 속성들이다. 이 처럼 세상에 존재하는 유형, 무형의 객체를 소프트웨어적으로 추상화 하는 것이 클래스를 만드는 것이다.


  참조



'프로그래밍 > JAVA' 카테고리의 다른 글

[JAVA] 메서드(method)  (0) 2016.12.10
[JAVA] 변수의 선언 위치  (0) 2016.12.06
[JAVA] 13.객체지향이란?  (0) 2016.11.16
[JAVA] 12. 반복문 - while / do while  (0) 2016.11.14
[JAVA] 11. 반복문 - for  (0) 2016.11.12