반응형

객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 개발에서 널리 사용되는 프로그래밍 패러다임입니다. OOP는 프로그램을 개체(객체)들의 모음으로 구성하며, 이러한 객체들은 데이터와 해당 데이터를 처리하는 메서드로 구성됩니다. 객체 지향 프로그래밍의 주요한 특징은 다음과 같습니다:

 

추상화(Abstraction)

출처 : https://www.codestates.com/blog/content/%EA%B0%9D%EC%B2%B4-%EC%A7%80%ED%96%A5-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%ED%8A%B9%EC%A7%95

추상화는 객체에서 공통된 속성과 동작을 추출하여 모델을 만드는 개념입니다. 객체 지향 프로그래밍에서는 클래스를 통해 추상화를 구현합니다. 추상화를 통해 복잡한 시스템을 단순화하고, 핵심적인 부분에 집중할 수 있습니다. 또한 추상화를 통해 객체 간의 상호작용을 이해하기 쉽고 관리하기 용이한 수준으로 단순화할 수 있습니다.

 

상속(Inheritance)

출처 : https://velog.io/@jsj3282/%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5%EC%9D%98-4%EB%8C%80-%ED%8A%B9%EC%84%B12-%EC%83%81%EC%86%8D1

상속은 객체들 간에 공통된 특성을 재사용하는 개념입니다. 상속을 통해 기존 클래스의 특성과 동작을 다른 클래스에서 상속받아 사용할 수 있습니다. 상속을 통해 코드의 재사용성을 높일 수 있고, 클래스 간의 계층 구조를 형성하여 코드의 구조를 분명하게 할 수 있습니다.

 

다형성(Polymorphism)

출처 : https://velog.io/@kai6666/Java-%EB%8B%A4%ED%98%95%EC%84%B1

다형성은 동일한 인터페이스를 가진 객체들이 다양한 구현을 가질 수 있는 개념입니다. 같은 메서드를 호출해도 객체에 따라 다른 동작을 수행할 수 있습니다. 이는 코드의 유연성과 확장성을 높이며, 코드의 가독성을 향상시킵니다. 다형성은 상속과 밀접한 관련이 있으며, 상속을 통해 다형성을 구현할 수 있습니다.

 

캡슐화(Encapsulation)

출처 : https://www.codestates.com/blog/content/%EA%B0%9D%EC%B2%B4-%EC%A7%80%ED%96%A5-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%ED%8A%B9%EC%A7%95

캡슐화는 데이터와 그 데이터를 처리하는 메서드를 하나의 단위로 묶는 개념입니다. 객체는 내부의 데이터를 외부로부터 숨기고, 메서드를 통해 데이터에 접근할 수 있는 인터페이스를 제공합니다. 이를 통해 객체의 내부 구현 세부사항을 감추고, 외부에서는 객체의 인터페이스만을 사용할 수 있습니다. 이는 코드의 모듈화와 유지보수성을 향상시키는데 도움을 줍니다.

 

이러한 특징들은 객체 지향 프로그래밍의 강력한 기능들이며, 코드의 재사용성, 유지보수성, 가독성 등을 향상시키는 데에 도움을 줍니다.

 

관심이 있으신 분들에게 유용한 정보였길 바라며

다음 주제로는 자료구조에 대해 알아보도록 하겠습니다

반응형

+ Recent posts