ksouth9

객체지향언어(1) - 상속,다형성,캡슐화 본문

Java

객체지향언어(1) - 상속,다형성,캡슐화

ksouth9 2022. 3. 2. 21:15

객체지향언어


객체를 만들고 조작하며 객체끼리 관계를 맺음으로써 다수의 객체가 함께 수행(상호작용)될 수 있게 한다.

 

객체

- 데이터와 기능을 하나로 묶은 그룹

 

컴퓨터를 예로 들었을 때, 컴퓨터 한 대를 완성시키기 위해서는 여러 부품이 필요하다. CPU,RAM,HDD,VGA,POWER 등..

부품이 모두 연결되어야 컴퓨터의 기능을 작동시킬 수 있다. 여기서 컴퓨터 부품은 객체이다.

각 부품들의 역할이 나뉘어 있고, 사용하고자 하는 부분에 대해서 각 부품들이 작동을 한다.

고장이 나더라도 해당 부품만 수리 및 교체를 하면 간단하게 해결할 수 있다. 그렇기 때문에 유지보수도 쉽고 편하다.

객체지향언어도 마찬가지로 하나의 독립된 '객체'들의 그룹이 모여서 서로 연결되어 상호작용을 하게 된다.

객체지향언어의 특징


1. 코드의 재사용성이 높다.(상속,다형성)

- 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다.

2. 코드의 관리가 용이하다.(상속,다형성)

- 코드 간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.

3. 신뢰성이 높은 프로그래밍을 가능하게 한다.(캡슐화)

- 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오작동을 방지할 수 있다.

 

상속

  • 상위 객체가 가지고 있는 필드와 메소드를 하위 객체에게 물려주어 하위 객체가 사용할 수 있도록 해준다.
  • 비효율적인 코드 중복을 피할 수 있다.
  • 유지 보수의 편리성

다형성

  • 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질
  • 하나의 클래스나 메소드가 다양한 방식으로 동작이 가능한 것

캡슐화

  • 객체의 필드, 메소드를 하나로 묶고, 실제 구현 내용을 감추는 것
  • 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 하기 위해 사용됨

 

'Java' 카테고리의 다른 글

객체지향언어(2) - 객체,인스턴스  (0) 2022.03.03
객체지향언어(1) - 클래스,객체  (0) 2022.03.02
배열(array)(3)  (0) 2022.03.02
배열(array)(2)  (0) 2022.03.02
배열(array)(1)  (0) 2022.03.02