"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 클린 코드 이해: 객체 및 데이터 구조⚡

클린 코드 이해: 객체 및 데이터 구조⚡

2024-08-24에 게시됨
검색:614

Understanding Clean Code: Objects and Data Structures⚡

깨끗한 코드를 작성할 때는 객체와 데이터 구조의 차이점을 이해하는 것이 중요합니다.

둘 다 소프트웨어 설계 분야에서 각자의 위치를 ​​차지하지만 서로 다른 목적으로 사용되며 다양한 시나리오에 가장 적합합니다.

이 글에서는 객체와 데이터 구조의 차이점을 자세히 알아보고, 개념을 설명하기 위해 JavaScript 예제를 사용하여 각각을 언제 사용해야 하는지 살펴보겠습니다.


? 객체란 무엇입니까?

객체는 객체지향 프로그래밍(OOP)의 기초입니다.

데이터와 동작을 모두 캡슐화합니다. 즉, 정보를 보유할 뿐만 아니라 해당 정보와 상호 작용하는 방법도 제공합니다.

객체의 핵심 아이디어는 데이터를 해당 데이터에 작동하는 함수와 함께 묶어 객체의 내부 상태가 해당 메서드를 통해서만 조작되도록 하는 것입니다.

객체의 예:

class Rectangle {
  constructor(width, height) {
    this.width = width;
    this.height = height;
  }

  getArea() {
    return this.width * this.height;
  }

  getPerimeter() {
    return 2 * (this.width   this.height);
  }
}

const myRectangle = new Rectangle(5, 10);
console.log(myRectangle.getArea());       // Output: 50
console.log(myRectangle.getPerimeter());  // Output: 30

이 예에서 Rectangle 클래스는 getArea() 및 getPerimeter() 메서드와 함께 너비 및 높이 데이터를 캡슐화하는 객체입니다.

내부 데이터(너비 및 높이)는 보호되며 이러한 방법을 통해서만 액세스하거나 수정할 수 있습니다.


? 데이터 구조란 무엇입니까?

반면에 데이터 구조는 연관된 동작이 없는 데이터 모음입니다.

데이터를 보호하기보다는 노출하는 데 중점을 두어 외부 기능이 조작할 수 있도록 합니다.

데이터 구조는 쉽게 검색하고 수정할 수 있는 방식으로 데이터를 저장하고 구성하는 것에 관한 것입니다.

데이터 구조의 예:

const rectangle = {
  width: 5,
  height: 10
};

function getArea(rectangle) {
  return rectangle.width * rectangle.height;
}

function getPerimeter(rectangle) {
  return 2 * (rectangle.width   rectangle.height);
}

console.log(getArea(rectangle));       // Output: 50
console.log(getPerimeter(rectangle));  // Output: 30

여기서 직사각형은 데이터 구조입니다. 이는 데이터를 직접 노출하며 getArea() 및 getPerimeter() 함수는 노출된 데이터에 대해 작동합니다.

객체와 달리 캡슐화가 없으며 외부 기능을 통해 데이터에 자유롭게 액세스하고 수정할 수 있습니다.


? 객체를 사용해야 하는 경우

객체는 데이터와 함께 동작을 캡슐화하려는 경우에 이상적입니다.

이 캡슐화를 통해 데이터 액세스 및 수정 방법을 제어하여 보호 계층을 제공할 수 있습니다.

객체는 잘 정의된 인터페이스를 통해 다양한 유형의 객체가 서로 상호 작용해야 하는 상황에도 적합합니다.

⚡ 다음과 같은 경우에 객체를 사용하세요.

  • 내부 상태를 보호하고 특정 방법을 통해서만 변경할 수 있도록 보장해야 합니다.
  • 데이터와 밀접하게 관련된 동작을 정의하려고 합니다.
  • 당신은 캡슐화와 추상화가 중요한 복잡한 시스템으로 작업하고 있습니다.

? 데이터 구조를 사용해야 하는 경우

데이터 구조는 동작을 추가하지 않고 데이터를 간단히 저장하고 구성해야 할 때 유용합니다.

데이터에 쉽고 직접적으로 액세스할 수 있으므로 성능과 단순성이 핵심인 시나리오에 도움이 될 수 있습니다.

⚡ 다음과 같은 경우 데이터 구조를 사용하십시오.

  • 외부 기능이 작동하려면 데이터를 직접 노출해야 합니다.
  • 디자인을 단순하고 단순하게 유지하고 싶습니다.
  • 동작은 데이터와 별개이며 외부 기능으로 구현될 수 있습니다.

핵심 내용

  • 객체는 데이터와 동작을 캡슐화하여 내부 상태를 보호하고 메서드를 통해 제어된 액세스를 제공합니다.
  • 데이터 구조는 데이터를 직접 노출하므로 캡슐화 없이 외부 기능이 작동할 수 있습니다.
  • 캡슐화가 필요하고 동작을 데이터와 묶고 싶을 때 객체를 사용하세요.
  • 동작을 추가하지 않고 데이터를 저장해야 할 때와 단순성과 직접 액세스가 우선순위인 경우 데이터 구조를 사용하세요.

깨끗하고 유지 관리 가능한 코드를 작성하려면 객체와 데이터 구조의 차이점을 이해하는 것이 필수적입니다.

애플리케이션의 요구 사항에 따라 올바른 접근 방식을 선택하면 효율적이고 이해하기 쉬운 시스템을 만들 수 있습니다.

즐거운 코딩하세요!

릴리스 선언문 이 기사는 https://dev.to/alisamir/understanding-clean-code-objects-and-data-structures-j4f?1에서 복제됩니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3