[SEB_FE] 객체 지향 프로그래밍

seunghyo·2023년 3월 15일
0

SEB_FE

목록 보기
18/38
post-thumbnail

💡 이해하기 💡


객체 지향 프로그래밍은 순차적 프로그래밍의 단점을 보완할 수 있는 절차적, 구조적 프로그래밍이라고 볼 수 있다. 대표적인 것으로는 함수가 있다. 즉, 반복되는 동작을 함수 및 프로시저의 형태로 모듈화하여 사용하는 방식이다.

프로시저 = 리턴 값이 없는 함수, ex) printf

반복동작을 모듈화하여, 코드를 많이 줄일 수 있다.

🌟객체 지향 프로그래밍🌟

어떤 개념에 대한 자료형과 함수를 '객체'로 묶어 관리하는 패러다임이 등장하였다. 값을 저장할 변수와 작업을 수행할 메소드를 서로 연관된 것끼리 묶어 만든 것이 객체인 것이다. 객체 내부에 자료형 필드와 함수가 함께 존재하는 것이다. 추상적이었던 동작이 더 직관적으로 보이게 되어 가독성이 증가한다. 즉, 객체 간 독립성이 생기며, 중복성도 적어지고 유지보수에도 용이하다.

//모자딥다
// 생성자 함수(Constructor)
function Person(name) {
  // 프로퍼티
  this.name = name;

  // 메소드
  this.setName = function (name) {
    this.name = name;
  };

  // 메소드
  this.getName = function () {
    return this.name;
  };
}

// 인스턴스의 생성
var me = new Person('Lee');
console.log(me.getName()); // Lee

// 메소드 호출
me.setName('Kim');
console.log(me.getName()); // Kim

🌟OOP🌟

캡슐화, 상속, 추상화, 다형성

  1. 캡슐화
  • 데이터와 기능을 따로 정의하지 않고, 하나의 객체에 묶는 것.
  • 은닉: 구현은 숨기고 동작은 노출시킴
  1. 추상화
  • 실제 노출되는 부분은 단순하게 만듦
  • 인터페이스 단순화
  1. 상속
  • 부모클래스의 특징을 자식 클래스가 물려받음
    즉, 기본 클래스의 특징을 파생 클래스가 상속받는다.
  1. 다형성
  • 다양한 형태
  • 객체에서 똑같은 메서드라도 다른 방식으로 구현될 수 있다.

0개의 댓글