Home 객체 지향 프로그래밍(Object-Oriented Programming)
Post
Cancel

객체 지향 프로그래밍(Object-Oriented Programming)

OOP 정의

객체 지향 프로그래밍은 프로그램을 구성하는데 있어 필요한 데이터나 기능을 객체라는 단위로 나누고, 여러 객체들 간의 상호작용을 통해 로직을 구성하는 프로그래밍 기법이라고 할 수 있습니다.

OPP의 장점

  1. 유지보수하기 용이하다.
  2. 코드 재사용이 가능하다.
  3. 큰 프로젝트 개발시 적합하다.

OPP의 단점

  1. 속도가 느리다.
  2. 객체를 정의하는 클래스가 많아지면 용량이 커진다.
  3. 설계시 많은 시간과 노력이 필요하다.

OPP의 특징

  1. 클래스와 인스턴스
    • 클래스는 자바에서 객체 지향 프로그래밍을 위해 구분하는 가장 작은 단위입니다.

    • 클래스라는건 객체를 생성하기 위한 설계도라고 말하고 싶습니다. 공통적인 상태나 기능을 소화하는 객체를 생성하는데 있어서 하나의 클래스로 미리 정의해 둔다면, 해당 클래스의 특징을 활용할 수 잇는 객체는 생성만 해서 활용할 수 있고 여러개의 객체를 생산할 때도 용이한 구조를 가질 수 있습니다.

  2. 추상화
    • 여러 코드를 조합하고 구성해서 추상적인 기능을 할 수 있는 코드를 만들고 이를 하나의 클래스로 정의한다면, 코드의 구성을 사용자가 직접 보고 이해하지 않아도 클래스 그 자체로 하나의 기능을 소화시킬 수 있습니다.
  3. 캡슐화
    • 복잡한 기능들은 Class안으로 숨기고, 사용자가 알아보기 쉬운것만 바깥으로 꺼내놓는 것을 캡슐화라고 한다.

    • 클래스 내부에 선언된 변수나 메소드 중 외부로 노출시키면 안되는 내용은 숨기고, 접근을 제한시킬 수 있습니다. 이를 통해 코드의 보안성을 보장해 줄 수 있습니다.

  4. 상속
    • 클래스 간에 상속이 가능합니다. 클래스 간에도 관계성에 따라 중복적으로 사용되는 코드들의 경우에는 상위 계층의 클래스로 묶어서 관리하면서 중ㅇ복 코드를 줄이고 필수 코드를 재사용할 수 있습니다.
  5. 다형성
    • 같은 이름의 변수나 메소드라도 클래스의 용도에 따라 다른 결과를 리턴할 수 있도록 코드를 수정할 수 있습니다. 이는 프로그램 구성에 있어 유연성을 증가시켜 주는 장점이 있다고 할 수 있습니다.

참고사이트

참고사이트

참고사이트

This post is licensed under CC BY 4.0 by the author.