computer science
객체지향 프로그래밍(OOP)이란?
고베베
2018. 10. 19. 16:16
객체지향 프로그래밍이란 object단위로 프로그래밍을 설계한다는 의미입니다.
oop방식으로 프로그래밍을 할 때 나타나는 6가지의 특성이 있는데요.
아래 특성들을 지원하는 언어를 개체지향언어라고 하며, 대표적으로는 JAVA가 있습니다.
1) 클래스
데이터를 담는 변수 (멤버변수, 프로퍼티 라고도 부름:javascript)와 기능을 담는 메서드로 구성되어 있습니다.
이 안에서 object개념으로 관련있는 프로퍼티와 메서드의 집합체라고 보면 됩니다.
2) 인스턴스
클래스의 내용을 담은 object. 클래스를 사용하기 위해 내용을 담아놓은 곳이다.
3) 캡슐화
클래스 안에 만들어 놓은 프로퍼티나 메서드들을 외부에서 변경할 수 있게 허락하지 않으면 외부에서는 그대로 사용할 수 밖에 없다.
즉, 클래스 안에 내용들을 보호하는 역할을 한다.
4) 상속
부모 클래스를 상속받으면 자식 클래스가 부모 클래스의 것들을 사용할 수 있다.
5) 오버라이딩
부모 클래스에 이미 정의되어 있는 메서드이든, 자식 클래스 안에서 같은 메서드명을 사용하든, 서로 다르게 사용이 가능하다.
6) 추상화
실질적인 구현 코드를 작성하진 않지만, 꼭 있어야 할 내용들을 명세처럼 만들어서 해당 추상클래스를 상속받는 자식 클래스들은
추상화에 명세대로 꼭 메서드를 구현해야 하는 의무가 있다.