객체지향
- 최초 등록일
- 2005.09.07
- 최종 저작일
- 2005.08
- 13페이지/ MS 워드
- 가격 1,000원
목차
1. 객체지향 개념
2. 객체지향 개념의 특징과 자바 객체지향 프로그래밍
1) 캡슐화(Encapsulation)
2) 클래스(Class)
3) 인스턴스(instance)
4) 객체(Object)
5) 상속(Inheritance)
6) 다형성(Polymorphism)
본문내용
*캡슐화
상태 정보를 저장하고 있는 변수와 상태를 변경하거나 서비스를 수행하는 메소드를 하나의 소프트웨어 묶음으로 묶어주는 것을 캡슐화라 한다. 캡슐화는 소프트웨어의 개발자에게 높은 모듈성(modularity)과 정보은닉(information hiding) 등 두 가지 장점을 제공해 준다. 모듈성은 하나의 객체를 위한 소스 코드가 다른 객체를 위한 소스 코드와 독립적으로 무관하게 유지될 수 있다는 것을 말한다.
객체가 자신이 갖는 정보에 대해 public 접근 권한을 줌으로써 다른 객체들이 접근할 수 있도록 하거나, 또는 다른 객체가 접근할 수 없도록 private 접근 권한을 줄 수 있다. 이러한 접근 권한을 이용하여 중요한 정보 또는 불필요한 접근이 필요하지 않은 정보에 대해서는 다른 객체에게 공개하지 않아도 된다는 것이다. 또한, 객체 자신이 가지고 있는 정보에 대해 접근 권한을 달리함으로써, 또는 자신이 제공한 메소드를 이용하여 접근하도록 함으로써 정보에 대한 보호를 할 수 있다.
그림 2에서는 점 객체가 가지고 있는 변수 및 메소드에 대해 class 를 이용하여 캡슐화 하고 있는 자바 예제를 보여주고 있다.
*클래스(Class)
클래스란 어떤 특정 종류의 모든 객체들에 대해 일반적으로 적용할 수 있는 변수와 메소드를
정의하고 있는 소프트웨어적인 설계도 또는 프로토타입(prototype)이라 할 수 있다. 다시 말해서, 실세계에 존재하는 객체들이 가질 수 있는 상태와 행동들에 대해 소프트웨어적으로
추상화(abstraction) 해 놓은 것을 클래스라 한다. 이러한 클래스를 청사진(blueprint)이라 표현하기도 하고, 벽돌을 찍기 위한 하나의 벽돌틀로써 비유되기도 한다. 그림 2에서는 점 객체에 대한 소프트웨어 설계도라 할 수 있는 Point 클래스에 대해 잘 보여주고 있다.
*인스턴스(Instance)
Point 클래스를 만들었다고 해서, 우리가 실제로 사용할 수 있는 것은 아니다
참고 자료
없음