객체지향의 원칙

Moom2n·2024년 2월 27일
0

Java

목록 보기
5/26

객체지향 프로그래밍 언어의 4가지 원칙

Object-Oriented Programming(OOP)의 주요 원칙은 총 4가지입니다. 이를 SOLID 원칙이라고도 부르며, 각각 캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism), 그리고 추상화(Abstraction)를 의미합니다.

  1. 캡슐화(Encapsulation): 캡슐화는 데이터와 그 데이터를 조작하는 메소드를 하나로 묶는 것을 의미합니다. 캡슐화를 통해 데이터를 직접 조작하는 것을 방지하고, 오직 메소드를 통해서만 데이터에 접근할 수 있게 합니다. 이를 통해 데이터의 무결성과 보안성을 유지할 수 있습니다.

  2. 상속(Inheritance): 상속은 한 클래스의 특성을 다른 클래스가 물려받을 수 있게 하는 것을 의미합니다. 이를 통해 코드의 재사용성을 높이고, 중복된 코드를 줄일 수 있습니다.

  3. 다형성(Polymorphism): 다형성은 한 객체가 여러 가지 형태를 가질 수 있음을 의미합니다. 이를 통해 하나의 메소드나 클래스가 다양한 방식으로 동작하도록 만들 수 있습니다.

  4. 추상화(Abstraction): 추상화는 복잡한 시스템을 간단한 개념으로 변환하는 것을 의미합니다. 이를 통해 복잡한 내부 구현을 숨기고, 사용자에게 필요한 정보만을 제공할 수 있습니다.

- SOLID 원칙

객체지향 프로그래밍과 설계에 있어서 중요한 5가지 원칙을 의미합니다. SOLID는 각 원칙의 첫 글자를 딴 약자로, 다음과 같은 원칙들을 포함합니다.

  • S - Single Responsibility Principle (SRP, 단일 책임 원칙): 각각의 클래스나 모듈은 하나의 책임만을 가져야 한다는 원칙입니다. 즉, 클래스가 변경되어야 하는 이유는 하나여야 한다는 것을 의미합니다.

  • O - Open-Closed Principle (OCP, 개방-폐쇄 원칙): 소프트웨어의 구성요소(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다는 원칙입니다. 새로운 기능이 필요하면 기존 코드를 변경하지 않고, 새로운 코드를 추가하여 구현해야 합니다.

  • L - Liskov Substitution Principle (LSP, 리스코프 치환 원칙): 서브타입은 언제나 자신의 기반 타입으로 대체될 수 있어야 한다는 원칙입니다. 즉, 상속받은 클래스는 상속한 클래스의 기능을 유지하면서 확장되어야 합니다.

  • I - Interface Segregation Principle (ISP, 인터페이스 분리 원칙): 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하도록 강제되어서는 안된다는 원칙입니다. 하나의 일반적인 인터페이스보다는, 여러 개의 구체적인 인터페이스가 낫다는 것을 의미합니다.

  • D - Dependency Inversion Principle (DIP, 의존 역전 원칙): 상위 모듈은 하위 모듈에 의존해서는 안되며, 둘 다 추상화에 의존해야 한다는 원칙입니다. 즉, 구체적인 구현보다는 추상화에 의존해야 합니다.

이 5가지 원칙을 통해, 코드의 유지보수성, 확장성, 재사용성 등을 향상시킬 수 있습니다.

0개의 댓글

관련 채용 정보