관리 메뉴

개발하는 동그리

자바 객체지향 프로그래밍 (OOP)란!? - 정리! 본문

IT 정보/Java

자바 객체지향 프로그래밍 (OOP)란!? - 정리!

개발하는 동그리 2022. 5. 22. 15:27
반응형

<Simple>

객체를 분리함 으로써 좀더 능동적이고 유지,보수,관리가 편하도록 만든 프로그래밍

  • 대형 프로젝트를 여러명이 개발하면서 업무 분담하기 쉬움.
  • 남이 만든 클래스를 이용할 수도 있고 확장하여 사용할 수 있다.
  • 수정해야 할 부분이 생겼을 때 클래스 내부의 변수 혹은 메서드부분만 수정하면 된다.

<Detail>

우선 객체지향 프로그래밍이라 하면 네 가지 특성 (추상화, 캡슐화, 상속, 다형성)

 

1) 추상화 : 클래스를 설계할 떄 공통적인 기능을 묶어둔 것

2) 캡슐화 : 접근제어자를 통해 정보를 은닉 ( 접근제어자를 통해 적절히 제어 권한을 부여하고 코드의 수정이 일어났을 때 책임이 있는 객체만 수정하도록 하여 영향력을 줄인 것 ) + 관련된 기능과 특성을 한곳에 모으고 분류한 것

3) 상속 : 부모클래스의 기능을 상속받아 자식클래스에서 일부 기능만 수정하여 사용할 수 있도록 해둔 것

4) 다형성 : 오버라이딩과 오버로딩

  • 오버로딩 : 같은 이름의 함수를 여러개 정의하여 매개변수에 따라 호출할 수 있도록 한 것
  • 오버라이딩 : 부모 클래스의 이름과 매개변수가 같은 메서드를 생성하고 재정의 하여 사용

Getter Setter

멤버변수에 직접 접근하지 못하게private 로 접근지정자를 설정하고 public으로 게터 세터메서드를 만들어서 사용하는 것

게터 세터를 사용하면 메서드를 통해서 접근하기 때문에 메서드 안에서 매개변수같이 올바르지 않은 입력(유효범위 외)에 대해서 사전에 처리(예외처리)할 수 있게 제한하거나 조절할수 있다.

반응형

'IT 정보 > Java' 카테고리의 다른 글

[Java] 재귀함수  (5) 2022.05.24
추상클래스와 인터페이스의 차이 - 정리  (34) 2022.05.23
Static 변수란!? - 정리  (4) 2022.05.22
[Java] 자바의 메모리 영역  (20) 2022.05.20
[Java] enum  (0) 2022.05.19