응집도와 결합도를 알아가기 전 모듈에 대하여 알고 들어가 봅시다. 모듈(Module) 응집도와 결합도는 프로그램의 모듈과 모듈간의 관의 관계에 대한 개념입니다. 따라서 프로그램에 있어서 모듈의 개념을 이해하는 것이 먼저입니다. 모듈은 프로그램에서 하나의 기능을 수행하는 단위입니다. 프로그래밍 관련 용어들을 레고에 빗대어 이해해보도록 합니다. 프로그램 코드 한 줄 한 줄이 레고 블럭 하나라면, 모듈은 그 블럭들을 조립하여 만든 하나의 '기능'을 수행하는 덩어리라고 할 수 있습니다. 이러한 모듈들이 합쳐져서 하나의 큰 레고 작품이 탄생하는 것입니다. 즉 프로그램의 기능을 독립적인 부품으로 분리한 것이 모듈이라고 할 수 있다. 프로그램을 짤 때 모듈화 한다는 것은, 작은 기능 단위들을 모듈화하여 유지 보수와 ..
개발 방식은 여러가지가 있겠지만 일단 Agile 방식과 Waterfall 방식에 대하여 알아보겠습니다. Agile 방식이란? Agile 개발 방식은 소프트웨어 개발 과정에서 요구사항이나 변경사항에 유연하게 대처하기 위해 만들어진 방법론입니다. 기존의 Waterfall 모델과 같은 전통적인 방식과는 달리, 개발자, 고객, 테스터 등 모든 관계자들이 함께 일하며 지속적인 개선과 빠른 반응성을 추구하는 방식입니다. Agile 방식 세 가지 핵심 원칙 1. 개인과 상호작용을 중시합니다. Agile 방식에서는 고객과 팀원들이 지속적으로 소통하고, 일정한 주기로 결과물을 검토하며 피드백을 주고받습니다. 이를 통해 고객 요구사항에 대한 이해를 높이고, 빠른 의사결정을 할 수 있습니다. 2. 작동하는 소프트웨어를 우선..
OOP란? 두가지 설명이 있는데 더 이해가 잘 되는 것으로 이해해보도록 합시다. 개념 설명 1 객체 지향 프로그래밍 (Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 개념 설명 2 우리가 실생활에서 쓰는 모든 것을 객체라 하며, 객체 지향 프로그래밍은 프로그램 구현에 필요한 객체를 파악하고 각각의 객체들의 역할이 무엇인지를 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것을 말한다. 객체는 클래스라는 틀에서 생겨난 실체(instance)이다. 따라서 객체 지향 프로그램은 객체와 객체 간의 연결로 되어 있으며 각각의 객체 안에 자료구조(속성)..
IDE란? Integrated Development Environment 로 Java 개발을 위한 소프트웨어 개발 도구입니다. 이는 코드 작성, 디버깅, 테스트, 배포 등의 작업을 위해 필요한 다양한 기능을 제공합니다. Java IDE는 대부분 다음과 같은 기능을 제공합니다. 코드 편집: 코드 작성을 위한 기능으로, 코드 자동 완성, 문법 강조, 오류 감지 및 수정, *코드 스니펫* 등을 포함합니다. 디버깅: 코드 오류를 찾아 수정하는 작업을 위한 기능으로, 중단 점 설정, 변수 및 스택 추적, 로그 분석 등이 있습니다. 빌드 및 배포: 소스 코드를 컴파일하고 패키징하여 배포 파일을 생성하는 기능입니다. 버전 관리: 소스 코드 버전을 관리하는 기능으로, Git, SVN, Mercurial 등의 버전 관리..
신입 개발자라면 자고로 개념을 잘 알고 있어야한다고 생각합니다. 정말 기본 개념이지만 생각보다 머리속에 남지 않았던 경향이 있었습니다. 따라서 오늘 기본적인 이야기를 작성하면서 개념을 제 것으로 만드는 시간을 가져볼게요. 여러분도 보고 싶으시면 보세요. Java란? Java는 프로그래밍 언어입니다(당연하죠). 1995년 미국의 '썬마이크로시스템즈’라는 회사에서 개발한 객체지향 언어입니다.현재는 '썬마이크로시스템즈’가 엔터프라이즈용 데이터베이스로 유명한 '오라클’에 인수가 되었고, 그 이후 자바는 '오라클’사에 의해 배포되고 있습니다. Java의 가장 큰 특징 자바는 서로 다른 실행환경을 가진 시스템간에 프로그램을 옮겨 실행할 수 있는것을 말합니다. 자바는 자바 실행환경(JRE)이 설치 되어 있는 모든 운..