자바의 OOP

Jeong Gyejin·2023년 2월 22일
0

JAVA

목록 보기
5/18

객체지향이란?

컴퓨터 프로그래밍의 패러다임 중 하나로 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위를 이야기 합니다.
즉 “객체”들의 모임으로 파악하는 것.

객체지향 프로그래밍의 장점

  • 코드의 재사용이 편리함(라이브러리, 상속)
  • 유지보수가 쉬움(수정해야할 부분이 메소드 또는 변수로 구성되어 있어 찾아서 수정하기 쉬움
  • 대형 프로젝트에 적합(클래스 단위로 모듈화 할 수 있어서 업무 분담이 쉬움)

객체지향 프로그래밍의 단점

  • 비교적 처리속도가 느림
  • 객체가 많아지면 용량이 커짐.
  • 초기 프로젝트 설계 단계에서 시간과 노력이 많이 들어감.

객체지향 프로그래밍의 특징

  • 클래스 + 인스턴스:
    • 개발자 관점에서의 클래스란 모델링된 Object를 뜻하며, 이는 변수나 상수로 표현하고 기능을 메소드로 표현함.
    • 인스턴스란 메모리에 올라온 클래스를 의미함.
  • 추상화:
    • 공통의 속성이나 기능을 묶어 이름을 붙이는 것을 뜻하며, 객체 지향적 관점에서 클래스를 정의하는 것임.
  • 캡슐화:(getter, setter)
    • 연관된 목적을 가지고 있는 변수와 함수를 클래스로 묶는 작업으로 외부의 잘못된 접근으로 값이 변하는 것을 막기 위함(은닉성: 접근제어자 활용)
  • 상속:
    • 자식 클래스가 부모 클래스의 속성과 기능으 받아 기능 중 일부를 변경 및 추가 해서 사용.
    • 다형성: 부모 클래스에서 물려받은 함수를 자식클래스 내에서 오버라이딩 하여 사용.
      • 오버라이딩: 부모클래스 메소드와 같은 이름, 같은 매개변수
      • 오버 로딩: 같은 이름의 함수를 여러개 정의하여 매개변수에 따라 다르게 호출
profile
항상 더 나은 개발자가 되기 위해서 끊임없이 공부하고 학습하면서 성장하는 사람이 되겠습니다.

0개의 댓글