IT_susu
객체지향 프로그래밍(OOP)이란? 본문
객체지향 프로그래밍이란 object단위로 프로그래밍을 설계한다는 의미입니다.
oop방식으로 프로그래밍을 할 때 나타나는 6가지의 특성이 있는데요.
아래 특성들을 지원하는 언어를 개체지향언어라고 하며, 대표적으로는 JAVA가 있습니다.
1) 클래스
데이터를 담는 변수 (멤버변수, 프로퍼티 라고도 부름:javascript)와 기능을 담는 메서드로 구성되어 있습니다.
이 안에서 object개념으로 관련있는 프로퍼티와 메서드의 집합체라고 보면 됩니다.
2) 인스턴스
클래스의 내용을 담은 object. 클래스를 사용하기 위해 내용을 담아놓은 곳이다.
3) 캡슐화
클래스 안에 만들어 놓은 프로퍼티나 메서드들을 외부에서 변경할 수 있게 허락하지 않으면 외부에서는 그대로 사용할 수 밖에 없다.
즉, 클래스 안에 내용들을 보호하는 역할을 한다.
4) 상속
부모 클래스를 상속받으면 자식 클래스가 부모 클래스의 것들을 사용할 수 있다.
5) 오버라이딩
부모 클래스에 이미 정의되어 있는 메서드이든, 자식 클래스 안에서 같은 메서드명을 사용하든, 서로 다르게 사용이 가능하다.
6) 추상화
실질적인 구현 코드를 작성하진 않지만, 꼭 있어야 할 내용들을 명세처럼 만들어서 해당 추상클래스를 상속받는 자식 클래스들은
추상화에 명세대로 꼭 메서드를 구현해야 하는 의무가 있다.
'computer science' 카테고리의 다른 글
순수함수란? (0) | 2018.10.19 |
---|---|
절차지향 vs 객체지향 vs 함수형(지향) 프로그래밍 (0) | 2018.10.19 |
웹사이트 최적화 : 최소화(minification) (0) | 2018.06.11 |
시멘틱 웹이란? (0) | 2018.06.11 |
점진적 향상법과 우아한 성능저하법 (0) | 2018.06.11 |
Comments