728x90

OOP란

OOP(Object-Oriented Programming)이란 객체 지향 프로그래밍.

 

OOP 특성 4가지

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

위 특징을 이용해 코드의 재사용성을 증가시키고 유지보수를 쉽게 하기 위해 객체지향적 프로그래밍을 한다.

 

캡슐화(Encapsulation)

  • 객체의 필드와 메소드를 하나로 묶고, 실제 구현 내용을 외부에 감춘다.
  • 외부 객체는 제공하는 필드와 메소드만 이용할 수 있다.
  • 캡슐화는 외부의 잘못된 사용으로 인해 객체가 침해 당하지 않게 한다.
  • 노출을 위해 접근 제한자(Access Modifier)를 사용한다.

 

추상화(Abstraction)

  • 목적과 관련 없는 부분을 제외해서 필요한 부분을 포착한다.
  • 객체의 공통된 속성들 중 필요한 부분을 포착해서 클래스로 정의한다.
  • 구체적인 사물들의 공통적인 특징을 파악해서 이를 하나의 개념으로 다룬다.

 

다형성(Polymorphism)

  • 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미한다.
  • 오버라이딩과 오버로딩의 현태로 자주 활용된다.

오버라이딩 - 부모클래스에 메소드와 같은 이름으로 사용되며, 매개변수를 재정의하여 함수를 활용하는 것

오버로딩 - 동일한 이름의 함수명을 여러개로 정의하고 매개변수의 타입과 갯수를 다르게하여 매개변수에 따라 다르게 호출 할 수 있게 하는것

 

상속성(Inheritance)

  • 상위(부모) 클래스의 속성(변수)과 기능(메소드)을 재사용하여 하위(자식) 클래스가 전부 물려 받는 것.
  • 물려받는 것 외에 속성과 기능을 추가 할 수 있다.
  • 코드의 재사용성과 유지보수를 위해 사용.

 

 

 

728x90

+ Recent posts