OOP(객체 지향 프로그래밍)😋

Hong Un Taek·2021년 3월 22일
0

이론공부

목록 보기
1/4
post-thumbnail

(☞゚ヮ゚)☞ 시작하기에 앞서

아직 블로그 포스팅이 익숙하지않아 두서가 없다.
하지만 시작이 반이라고 꾸준히 포스팅하다보면 나도 언젠간 포스트왕..
우선 오늘 검색을 하다 프론트엔드 기술면접 관련에 대한 포스팅글을 보게 되었는데 제일 첫 질문이
'oop'에 대해 이야기해주세요' 였다.
음 .. oop? 작년 국비학원에 다닐때 초반 강사님이 학생들이 어려워한다고
3,4번은 재차 설명했던 내용이었다. 내가 만약 면접을 보러갔을때 저런 질문이
온다면 나는 대답할 수 있을까? 머리에서 그려질뿐 말로 설명하기가 매우 어렵고
말로 설명해야 온전히 내가 알고있는것이라고 다시 생각하게됐다. 그런의미로
OOP에 대해 기록해두려고한다.

1. OOP란?

OOP

Object Oriented Programming의 약자로 객체의 관점에서 프로그래밍 하는것


Object와 Class

Object, 즉 객체는 대상을 나타내며 구성요소 하나하나를 객체라고 할 수 있다.

클래스(class)는 클래스의 의해 생성되는 객체를 정의한다. 클래스는 객체의 데이터인 인스턴스 변수, 객체를 생성하는 생성자(들 - 생성장 오버로딩), 객체의 행동을 정의하는 메소드를 포함한다.

여담이지만 학원시절 한달마다 보는 시험이있었는데 문제 중 하나가 메소드는 클래스에 포함이 되냐는 문제였고 나는 당당하게 x를 그렸었다..😂

OOP의 4가지 특성

1. 추상화(Abstraction)

데이터와 메소드를 클래스 하나로 묶어 메소드로 접근 할 수 있도록 한다.

2. 캡슐화(Encapsulation)

불필요한 정보는 숨기고 중요한 정보만을 표현해 프로그램을 간단히만듬
캡슐 알약과 비슷하다(?)

3. 상속(Inheritance)

이미 정의 되어있는 상위 클래스와 메소드를 비롯한 모든 속성을 하위 클래스가 물려받는다.
예로 들자면 공룡이라는 클래스의 속성을 티라노사우르스 클래스와 트리케라톱스 클래스가 물려받을 수 있다는 얘기다.

4. 다형성(polymorphism)

다형성이란 다양한 형태로 표현이 가능한 구조를 말한다.
비슷하지만 조금 다른 방법의 기능이 있는 함수를 동일한 이름으로 사용할 수 있는 구조를 만드는 것이다.

상속받은 멤버 함수를 재정의하는 함수 오버라이딩(overriding)

profile
cherrycock's Velog

0개의 댓글