본문 바로가기
JAVA 공부

자바의 객체지향 특징

by KyeongOUK 2020. 4. 28.

객체지향이란? 왜 객체지향을 사용 하는가?

객체 지향 프로그래밍(영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임의 하나

절차지향(C)언어에서는 각 명령어의 실행 순서를 기반으로 바라 보는 시선이었다.

하지만 OOP는 데이터와 이를 처리하는 루틴들을 하나의 "독립된 객체"로 바라 보는 시선이다.

이를 통해서 큰 프로젝트에 많이 사용된다. 그 이유는 재사용성의 증가이다. 

기존에 만들었던 내용을 쉽게 상속, 다형성 등을 이용해서 재사용 가능하다.

또한 개발자의 실수로 인한 취약점을 줄여준다. 해당 내용이 왜 재사용과 관련이 있을까?

그 이유는 개발자가 급하게 만들면서 코드에 오류가 발생 할수 있다. 이럴 경우 새로운 패치를 해야하고

손실을 가져온다. 하지만 생성자, 소멸자, 접근제어[Public, Private, Protected] 와 같은 내용은 이러한 오류를 잡아준다. 

이 외에도 코드를 직관적으로 파악하는데 도움이 되는 등 많은 이유가 있을 것이다.



출처: https://richong.tistory.com/122 [study]

 

 

 

- 객체지향 특징 4가지

  1. 추상화 (Abstraction)

  2. 캡슐화(Encapsulation)

  3. 상속(Inheritance)

  4. 다형성(Polymorphism)

 

1. 추상화

객체에서 공통된 속성과 행위를 추출하는 것을 추상화(Abstraction)라고 한다.

추상클래스

추상클래스는 미완성 설계도에 비유할 수 있다. 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. 새로운 클래스를 작성할 때 아무 것도 없는 없는 상태에서 시작하는 것보다는 완전하지는 못하더라도 어느 정도 틀을 갖춘 상태에서 시작하는 것이 나을것이다.

 

2. 캡슐화(Encapsulation)

캡슐화는 프로그램의 세부 구현을 외부로 드러나지 않도록 특정 모듈(클래스) 내부로 감추는 것이다.

* 접근제어자public > protected > default > private접근제어자를 사용하는 이유

  • 외부로부터 데이터를 보호하기 위해서

  • 외부에는 불필요한, 내부적으로만 사용되는, 부분을 감추기 위해서

 

3. 상속

기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 보다 적은 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다.

4. 다형성

  • '다양한 형태로 나타날 수 있는 능력'을 뜻한다.

  • 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있다.

  • 같은 이름의 메소드를 여러개 정의 (오버로딩)

    오버로딩의 장점
  • 하나의 이름으로 정의함으로써 하나의 이름만 기억하면 되므로 기억하기도 쉽고 같은 기능을 한다는 것을 쉽게 예측할 수 있다.

  • 메서드의 이름을 절약할 수 있다.

'JAVA 공부' 카테고리의 다른 글

음극과 양극의 정의(전자/전류)  (0) 2020.05.07
200429_필기  (0) 2020.04.30
추상클래스(abstract)  (0) 2020.04.28
생성자  (0) 2020.04.27
아스키코드(ASCII CODE)  (0) 2020.04.26

댓글