Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 티스토리챌린지
- redis
- web
- Python
- Til
- git
- CS
- 세션(Session)
- flask
- 자료구조
- 연습
- 아티클 스터디
- viewsets
- github
- 개발공부
- 도커
- ERD
- 파이썬
- django
- 오블완
- NoSQL
- 코딩테스트
- docker
- nginx
- Wil
- 쿠키(cookie)
- Doker
- SQL
- JWT
- 장고
Archives
- Today
- Total
SteadyDrills
객체지향 프로그래밍 (Object Oriented Programming, OOP)이란? 본문
240807
객체지향 프로그래밍 (Object Oriented Programming, OOP)이란?
필요한 데이터를 추상화시켜 상태와 행위를 가진 객체(Object)를 만들 고객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.
● 객체 지향 프로그래밍의 유래
초기 프로그래밍은 절차적 프로그래밍이었는데,
코드 재사용성, 복잡성 관리, 모듈화, 현실 세계 모델링, 데이터 은닉, 확장성, 협업 등 다양한 이유로 탄생하게 되었다.
객체지향 프로그래밍 (Object Oriented Programming, OOP)의 4가지 특징
• 캡슐화
- 외부로부터 클래스에 정의된 속성과 기능들을 보호하고, 필요한 부분만 외부로 노출되게 한다.
➡️객체 고유의 독립성과 책임 영역 보호(권한 외 접근, 수정 등 금지)
• 추상화
- 객체( Object )의 공통적인 속성과 기능(Method)을 추출하여 클래스(Class)로 정의.
복잡한 시스템에서 불필요한 세부 사항을 숨기고, 중요한 부분만을 간추려 표현하는 것.
• 상속화
- 새로운 클래스가 기존의 클래스의 속성과 메서드를 물려받아 재사용할 수 있게 하는 기능. 상속을 통해 코드의 재사용성을 높이고, 계층 구조를 형성.
• 다형화
- 동일한 메서드가 다양한 객체에서 다르게 동작할 수 있게 하는 특성. 주로 메서드 오버라이딩(Overriding)과 오버로딩(Overloading)을 통해 구현.
오버라이딩 (Overriding) - 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것.
오버 로딩 (Overloading) - 동일한 이름의 메서드를 여러 개 정의하되, 매개변수의 타입이나 개수를 다르게 하는 것.
'CS' 카테고리의 다른 글
쿠키(Cookie)와 세션(Session) (1) | 2024.09.02 |
---|---|
CS- 스크립트(Script)언어 와 컴파일러(Compiler)언어 (0) | 2024.08.20 |
개체 관계 다이어그램 (ERD : Entity Relationship Diagram)이란? (0) | 2024.08.14 |
CS - 프로토콜(Protocol)이란? (0) | 2024.07.29 |
[TIL] CS(Computer Science) 기초1 - 하드웨어(Hardware), OS(운영 체제, Operating System) (0) | 2024.07.25 |