목록2024/01 (13)
공부 기록
소프트웨어 설계(Software Design) 소프트웨어 설계는 소프트웨어 해결책을 찾기 위한 계획과 문제해결 과정을 말한다. 객체 지향 설계 객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동을 말한다. 좋은 객체지향 설계를 위해서는 협력하는 객체들 사이의 의존성을 적절하게 조절함으로써 변경이 용이한 설계를 만들어야 한다. 좋은 설계의 판단 척도 : 캡슐화, 응집도, 결합도 캡슐화 : 변경 가능성이 높은 부분을 객체 내부로 숨기는 추상화 기법이다. 응집도: 모듈에 포함된 내부 요소들이 연관되어 있는 정도로, 객체지향의 관점에서는 객체 또는 클래스에 얼마나 관련 높은 책임들을 할당했는지를 나타낸다. 응집도가 높은 설계에서는 하나의 요구사항 변경..
들어가며 오늘은 프로그래밍을 배우기 시작한 후로 수없이 들어봤지만 한번도 공부해보지 않았던 API와 REST API에 대해서 정리해보는 시간을 가졌다. API란? 개념 API(Application Programming Interface)는 컴퓨터나 컴퓨터 프로그램 사이의 연결이다. 일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공한다. (위키백과) 좀 더 쉽게 정리하자면, API는 식당의 점원과 같은 역할로 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)을 정리하고, 주문(명령)을 받으면 요리사(응용프로그램) 상의하여 음식(명령에 대한 값) 전달한다. 즉, 프로그램들이 서로 상호작용하는 것을 도와주는 매개체이다. 역할 서버와 데이터베이스에 대한 출입구 역할을 해서 허용된 사람에게..
들어가며 객체지향의 4가지 특징과 인터페이스를 공부하며 메서드 오버라이딩(메서드 재정의)도 함께 공부하였다. 오늘은 오버라이딩을 구현할 때 별생각 없이 써왔던 @Override 어노테이션이 반드시 필요한지 고민하는 시간을 가졌다. 오버라이딩과 @Override 어노테이션 오버라이딩(Overriding) 메서드 오버라이딩이란 부모 클래스로부터 상속받은 메서드 혹은 인터페이스의 추상메서드를 자식 클래스 혹은 구현 클래스에서 재정의하는 것을 말한다. 메서드를 오버라이딩할 때는 다음과 같은 주의 사항이 있다. 부모 메소드의 선언부(리턴 타입, 메서드 이름, 매개변수)와 동일해야 한다. 접근 제한을 더 강하게 할 수 없다. 새로운 예외를 throws할 수 없다. 자바의 어노테이션(Annotation) 개념 자바 ..
들어가며 어제 객체 지향 프로그래밍의 특징에 대해서 공부하며 마지막에 객체 지향 프로그래밍의 특징이 인터페이스에도 녹아져 있다고 살짝 언급하였다. 오늘은 인터페이스에 대해서 공부하고 여기에서 드러나는 객체 지향의 특징은 무엇인지 고민하는 시간을 가졌다. 인터페이스 인터페이스란? 인터페이스(interfacte)는 사전적 의미로 두 장치를 연결하는 접속기를 의미한다. 자바에서는 인터페이스를 통해 메서드를 호출함으로써 객체가 변경된다고 하더라도 메서드를 호출하는 코드의 변경이 없이 다른 리턴값을 받을 수 있게 된다. 이러한 특징으로 인터페이스는 다형성 구현에 주된 기술로 사용된다. //인터페이스 public interface RemoteControl{ //private 메서드 public void turnOn..