본문 바로가기
IT/JAVA

[JAVA/자바] 객체지향 프로그래밍 - 클래스, 캡슐화, 다형성, 상속,추상화

by 가아앗 2022. 11. 6.
반응형

자바는 객체지향 프로그래밍(Object-Oriented Programming) 언어이다.


객체 지향 프로그래밍이란?

부품 객체를 먼저 만들고 이것들을 하나씩 조립해서 완성된 프로그램을 만드는 기법.

 

객체란?
속성과 동작을 가지는 모든 것. 객체는 필드(속성)와 메소드 (동작)로 구성된 자바 객체로 모델링 할 수 있다.

객체들은 서로 간의 기능을 이용하고 데이터를 주고 받으며 상호 작용한다.

또한 서로간에 메소드를 호출하고 결과를 받는다.

 

 

클래스란?  - 객체를 만들기 위한 설계도.

 

 

객체를 생성하는 순서

자바에서 객체를 사용하기 위해서는 객체를 설계한 클래스를 만들어야 한다.

클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다.


클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 한다.  (객체 = 인스턴스)
하나의 클래스로부터 여러개의 인스턴스를 만들 수 있다.

 

 

 

 

 객체지향 프로그래밍의 특징

 

1. 추상화 (Abstract)

  • 객체에서 공통된 속성과 행위를 추출하는 것. (단순화시켜서 만드는 행위.)

2. 캡슐화 (Encapsulation)

  • 객체 내에 있는 필드, 메소드를 하나로 묶는 것.
  • 접근 제어 지시자[public, private, protected]를 사용하여 외부로부터의 데이터를 보호한다. (정보은닉)

3. 상속 (Inheritance)

  • 부모(클래스)가 가지고 있는 속성, 기능을 물려주는 것.
  • 상위 객체를 재사용해서 하위 객체를 빠르고 간편하게 설계 할 수 있도록 도와준다.
  •  상위 객체를 수정함으로 하위 객체들의 수정 효과를 가질 수 있다.

4. 다형성 (Polymorphism)

  • 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 것. (여러 가지 형태를 가짐)

 

 

반응형

댓글