IT_susu

객체지향 프로그래밍(OOP)이란? 본문

computer science

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

고베베 2018. 10. 19. 16:16

객체지향 프로그래밍이란 object단위로 프로그래밍을 설계한다는 의미입니다.

oop방식으로 프로그래밍을 할 때 나타나는 6가지의 특성이 있는데요.

아래 특성들을 지원하는 언어를 개체지향언어라고 하며, 대표적으로는 JAVA가 있습니다.


1) 클래스

데이터를 담는 변수 (멤버변수, 프로퍼티 라고도 부름:javascript)와 기능을 담는 메서드로 구성되어 있습니다.

이 안에서 object개념으로 관련있는 프로퍼티와 메서드의 집합체라고 보면 됩니다.


2) 인스턴스

클래스의 내용을 담은 object. 클래스를 사용하기 위해 내용을 담아놓은 곳이다.


3) 캡슐화

클래스 안에 만들어 놓은 프로퍼티나 메서드들을 외부에서 변경할 수 있게 허락하지 않으면 외부에서는 그대로 사용할 수 밖에 없다.

즉, 클래스 안에 내용들을 보호하는 역할을 한다.


4) 상속

부모 클래스를 상속받으면 자식 클래스가 부모 클래스의 것들을 사용할 수 있다.


5) 오버라이딩

부모 클래스에 이미 정의되어 있는 메서드이든, 자식 클래스 안에서 같은 메서드명을 사용하든, 서로 다르게 사용이 가능하다.


6) 추상화

실질적인 구현 코드를 작성하진 않지만, 꼭 있어야 할 내용들을 명세처럼 만들어서 해당 추상클래스를 상속받는 자식 클래스들은

추상화에 명세대로 꼭 메서드를 구현해야 하는 의무가 있다.

Comments