Programming Languages/Java

[4장] 객체 지향의 특징/ 자바의 클래스와 객체

마크투비 2021. 4. 10. 21:30

객체지향언어(object oriented programming = oop)란?

  • 순서대로 하는 것이 아니라, 컴퓨터 프로그램을 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것
  • 각각의 개체는 메시지를 주고 받고 데이터를 처리할 수 있음

자바의 객체 지향 특성

1. 캡슐화

  • 객체를 캠슐로 싸서 내부를 볼 수 없게 하는 것
  • 객체의 가장 본질적인 특징 - 외부의 접근으로부터 객체 보호

2. 상속

  • 상위 클래스의 멤버를 하위 클래스가 물려받음
  • 상위 클래스 : 수퍼 클래스
  • 하위 클래스 : 서브 클래스, 수퍼 클래스 코드의 재사용, 새로운 특성 추가 가능

3. 다형성

  • 같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 구현되는 것

클래스와 객체

클래스

  • 객체의 속성과 행위 선언
  • 객체의 설계도 혹은 툴

객체

  • 클래스의 틀로 찍어낸 실체
  • 프로그램 실행 중에 생성되는 실체
  • 메모리 공간을 갖는 구체적인 실체
  • 인스턴스(instance)라고도 부름

 

  • 객체는 현실에 존재하는 모든 것(구체적)
  • 클래스는 개념적으로 객체를 생성할 수 있는 툴(개념적)
  • 클래스는 그 자체만으로 사용할 수 없음