OOP

PYG·2021년 3월 11일
0

OOP

목록 보기
1/8

OOP란?

  • Object Oriented Programming (객체 지향 프로그래밍)
  • class를 중심으로 프로그램의 구조를 만들어가는 프로그래밍 방법론
  • 이런 방법들을 언어 차원에서 제공하는 언어가 객체 지향 언어이다
  • 객체들을 유기적으로 연결하는 프로그래밍
  • 객체의 상태(state)와 행동(behavior)을 구체화하는 형태의 프로그래밍
  • 하나의 객체 안에 연관이 있는 데이터(객체화 시킨)와 처리(함수)를 그룹핑해 놓은 것
  • method를 다른 컴퓨터 언어에서는 function, subroutine, procedural이라고 한다

패러다임

  • 메소드를 이용해서 작은 부품을 만들고 이것을 결합해서 더 큰 프로그램을 만들어 가는 테크닉이 procedural programming이다

OOP의 특징

추상화 (Abstraction)

  • 객체의 공통점들로 상위 개념들을 뽑아내는 과정
  • 모태, 전신을 찾아내는 과정
    ex) 빠삐코 < 아이스크림 < 유제품

캡슐화 (Encapsulation)

  • 굳이 필요하지 않은 내용들은 숨겨놓는 것

상속 (Inheritance)

  • OOP에는 부모, 자식 클래스가 있음
  • 부모 클래스 즉 상위 클래스(객체의 전신)가 속성(공통점)을 자식 클래스에게 물려주는 것
  • 코드의 중복을 막아줌 (같은 코드를 여러 번 안 써도 되게 해 줌)
    ex) 사람(부모 클래스) ---눈, 코, 입, 머리(속성) ----유재석, 송중기(자식 클래스)

다형성 (polymorphism)

  • 형태는 같지만 다른 기능
    ex) 포유류 > 영장류 > 사람 > 유재석, 송중기
    유재석과 송중기는 같은 사람이지만 생김새와 목소리, 외형이 다름

- 오버라이딩 (Overriding)

  • 부모 클래스에게 받은 속성을 자식 클래스에서 변화시키는 것
    ex) 유재석과 송중기(자식 클래스) 각각에게 속성의 변화를 주는 것
var grades = {
    'list': {'egoing': 10, 'k8805': 6, 'sorialgi': 80},
    'show' : function(){ 
    	alert('hello');
        }
    }

0개의 댓글