응집도? 결합도?


응집도(Cohesion)

예시

결합도(Coupling)

예시

<aside> 💡 높은 응집도, 낮은 결합도를 기억하자

</aside>

코드로 예를 들자면

import React, { useState } from 'react';

// 할일 목록 항목 컴포넌트
function TodoItem({ text, onDelete }) {
  return (
    <div>
      <span>{text}</span>
      <button onClick={onDelete}>삭제</button>
    </div>
  );
}

// 할일 목록 컴포넌트
function TodoList() {
  const [todos, setTodos] = useState([
    'React 공부하기',
    '컴포넌트 설계하기',
    '상태 관리 구현하기',
  ]);

  // 할일 삭제 함수
  const deleteTodo = (index) => {
    const newTodos = [...todos];
    newTodos.splice(index, 1);
    setTodos(newTodos);
  };

  return (
    <div>
      <h2>할일 목록</h2>
      <ul>
        {todos.map((todo, index) => (
          <li key={index}>
            <TodoItem text={todo} onDelete={() => deleteTodo(index)} />
          </li>
        ))}
      </ul>
    </div>
  );
}

export default TodoList;