티스토리 뷰

프로그래밍/JAVA

객체와 클래스

Hading 2017. 4. 4. 22:58

객체와 클래스


객체(object)

OOP는 객체를 이해하는 것이 중요하다. 

현실 세계에서 객체의 예를 들어보자.
당신 앞에 있는 컵, 당신이 지금 사용하고 있는 컴퓨터, 당신 자신이 현실 세계의 객체이다.
현실 객체는 다음과 같은 3가지 특징을 가진다.

1. 속성

모든 객체는 속성을 가진다.
당신의 속성은 이름, 핸드폰 번호, 허리 둘레 등이 될 수 있다.

2. 행위

당신은 달린다, 걷는다와 같은 행위를 한다.

3. 유일성

객체는 유일하다.
당신은 유일무이하다.



 oop란?

자바에서 OOP=Object Oriented Programming(객체 지향적 프로그래밍)을 말한다.

▷캡슐화

 캡슐화(Encapsulation)란 객체(내부)를 캡슐(외부)로 감싸 그 내부를 보호하고 이를 볼수 없게 하는것을 뜻한다.
 왜 이런 번거로운 일을 해야하는가? 그 이유는 정보 은닉화(information hiding)때문이다.

 자바에서는 객체는 메소드와 필드로 구성되서, 클래스라는 캡슐로 메소드.필드의 직접적인 접근을 막고, 메소드의 구현내용도 알수 없다.

다만,일부 메소드와 필드는 객체 외부와의 인터페이스를 위해 노출한다.

예를 들어,객체를 모니터로 보았을때, 모니터는 그 내부를 캡슐화하고 on/off버튼, 밝기나 위치조절 버튼을 노출해 두고 있다.

▷상속

 상속(Inheritance)이란,상위 개체의 속성이 하위 개체에 물려져서, 하위 개체가 상위 개체의 속성을 모두 가지고 있음을 의미한다.
 이때, 상속되는 상위 개체를 자바에서는 슈퍼 클래스라 하며, 상속받는 하위개체를 서브 클래스라 한다.
 
상속의 역할은 이미 만들어진 클래스와 필드,메소드를 내용 그대로 물려받게 함으로써 자바 코드의 중복작성을 방지하여, 프로그램의 크기와 코드작성에 드는 시간,비용을 절감할수 있게 된다.
 
▷다형성

 다형성(Polymorphism)이란 같은 이름의 함수 호출에 대하여 각 객체에 따라 다른 동작을 할수 있도록 구성하는 것을 말한다.
 
 다형성의 예를 실생활에서 찾아보면, 약국에서 파는 약은 두통약,감기약등은 모두 같은 '약'이지만 그 효능은 모두 다르다.
 여기서 '약'을 하나의 클래스로 보고 두통약,감기약을 객체로, 효능을 메소드로 가정하면, 두통약,감기약은 '약'클래스의 속성을 상속받았으며, 각 약들의 효능 메소드는 서로가 다르다.

다형성은 오버로딩,오버라이딩과 밀접한 관계가 있다.





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

Java 특징정리  (1) 2017.08.26
이클립스 자주쓰는 단축키  (2) 2017.04.04
자바의 특징  (0) 2017.04.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2025/01   »
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 31
글 보관함