[JAVA] OOP(객체 지향 프로그래밍)

🙈·2022년 8월 17일
0

[PL] Java

목록 보기
1/2
post-thumbnail

1. OOP란,

Object Oriented Programming 즉, 객체 지향 프로그래밍을 OOP라고 한다.

프로그램에 필요한 데이터를 묶어 객체를 만들고, 생성된 여러 객체 간의 관계를 통해 프로그래밍을 하는 방법을 객체 지향 프로그래밍이라고 한다.

OOP 특징

  • 추상화 (Abstraction)
  • 캡슐화 (Encapsulation)
  • 상속성 (Inheritance)
  • 다형성 (Polymorphism)

OOP 장점

  • 코드 재사용성 증가
  • 유지 보수 용이

OOP 단점

  • 처리 속도가 느림
  • 설계하기 어려움

2. OOP 특징

1) 추상화 (Abstraction)

추상화란 목적과 관련이 없는 정보를 숨기거나 관련된 정보만을 알 수 있도록 하는 것이다. 객체의 공통된 기능이나 속성을 파악하여 하나의 클래스로 정의하는 기법으로도 이해할 수 있다.

2) 캡슐화 (Encapsulation)

캡슐화란 외부에 노출할 필요가 없는 변수나 함수를 비롯한 정보를 하나의 클래스로 묶어 은닉하는 것을 말한다. 이를 통해 외부에서 객체에 직접적으로 접근하는 것을 막을 수 있다. 프로그램이 높은 응집도와 낮은 결합도를 유지할 수 있도록 하여 유연함과 유지보수성을 증가시킨다.

※ 자바에서는 private 접근자를 사용하여 캡슐화한다.

3) 상속성 (Inheritance)

상속은 하나의 클래스가 부모클래스의 속성을 물려받아 사용할 수 있도록 한다. 이때 속성을 물려받은 클래스를 자식클래스라고 한다.

※ 자바에서는 상속 받을 클래스의 extends 키워드를 붙여 사용한다.

4) 다형성 (Polymorphism)

다형성은 서로 다른 클래스의 객체가 같은 메시지를 받았을 때 각자의 방식으로 동작하는 것을 말한다. 부모 클래스에서 상속받은 함수를 자식클래스에서 재정의하여 사용하는 것(오버로딩)도 다형성으로 볼 수 있다.


<참조>
https://ssons.tistory.com/19
https://sh77113.tistory.com/57
https://theheydaze.tistory.com/603

profile
개발 일기🌱

0개의 댓글