Skip to content

Latest commit

 

History

History
47 lines (36 loc) · 1.78 KB

File metadata and controls

47 lines (36 loc) · 1.78 KB

객체지향 프로그래밍이란 무엇인가?

작성자

rlatjdwo555

객체지향 프로그래밍(Object Oriented Prigramming)?

  • 프로그래밍에서 필요한 데이터를 추상화시켜서 상태(변수)와 행위(메소드)를 가진 객체를 만들고 이 객체들간의 유기적인 상호작용으로 로직을 구성하는 프로그래밍 방법

객체지향의 특징 4가지

1. 추상화

  • 공통의 속성이나 기능을 묶어 이름을 붙이는 것
  • 클래스를 정의하는 것

2. 캡슐화

  • 관련있는 변수와 메소드를 묶어주는 것
  • (JAVA)접근 제어 지시자를 통해 외부 접근을 제한하며 이를 정보은닉이라고 함

3. 상속

  • 자식클래스는 상속을 통해 부모클래스의 속성과 기능을 물려받음
  • 상속받은 기능의 일부를 수정하여 사용 가능

4. 다형성

  • 하나의 변수명, 함수명 등이 상황에 따라 다른 의미로 해석되는 것
  • 오버로딩, 오버라이딩 개념
  • 오버로딩
    • 같은 클래스 내에서 동일한 이름의 함수를 여러 개 정의하고 매개 변수의 유형과 개수를 다르게 하는 것.
  • 오버라이딩
    • 부모 클래스의 메소드를 자식 클래스가 재정의 하는것.
구분 오버로딩 오버라이딩
메소드 이름 동일 동일
매개변수, 타입 다름 동일
리턴 타입 상관없음 동일

장단점

장점

  • 코드의 재사용 용이
  • 유지보수가 쉬움
  • 대형 프로젝트에 적합(모듈화)

단점

  • 처리속도가 상대적으로 느림
  • 객체가 많으면 용량이 커질 수 있음
  • 설계시 많은 시간과 노력이 필요