본문 바로가기
반응형

분류 전체보기305

자바가 확장한 객체 지향 Preface 이번 장에선 abstract와, final 키워드, 인터페이스에 대해 다뤘다. 대부분 '이것이 자바다' 책에서 다뤘던 내용이라 어려운 내용은 없었다. 더욱 자세한 정보는 이자바 카테고리에서 확인할 수 있다. - 추상 메서드: 선언부는 있지만 구현부가 없는 메서드 → 추상 메서드는 하위 클래스에게 오버라이딩을 강제한다. - 추상 클래스: 인스턴스(객체)를 생성할 수 없는 클래스 → 추상 클래스를 상속한 하위 클래스에선 추상 메서드를 오버라이딩해야 한다. - '클래스명( )'도 메서드이다. → 객체 생성자 메서드라 하고, 줄여서 생성자라고 부른다. - 자바는 인자가 없는 기본 생성자를 자동으로 생성해준다. → 인자가 있는 생성자를 하나라도 생성하면 자바는 기본 생성자를 만들어 주지 않는다. -.. 2023. 9. 4.
자바와 객체 지향 Preface 이번 장에선 객체 지향의 4대 특성을 알아봤다. '이것이 자바다' 책을 공부하며 이미 한 번 학습했던 내용이지만, 중간중간 기억이 잘 나지 않는 부분도 있었다. 아무래도 자바의 상속, 인터페이스, 접근제한자와 관련된 내용은 복습이 필요할 것 같다. 그래도 이것저것 공부한 개념이 많아져서 그런지 처음 객체 지향을 공부했을 때 보단 훨씬 이해가 잘 되고 쉽게 느껴졌다. 특히 추상화와 다형성의 개념을 코드를 통해 이해할 수 있게 된 것 같다. - 객체 지향은 인간 지향이다. → 객체 지향은 직관적이다. - 객체 지향의 4대 특성 1) 캡슐화(Encapsulation): 정보 은닉 2) 상속(Inheritance, Extends): 재사용 3) 추상화(Abstraction): 모델링 4) 다형성(.. 2023. 8. 31.
CBD vs OOP Preface CBD와 OOP의 차이점을 정확히 이해하기 위해 두 개념에 대해 간략히 정리한다. 또, 두 개념의 차이점을 조금이나마 쉽게 이해하고자 컴포넌트와 객체에 대해서도 업로드한다. 1. CBD와 OOP의 차이 - CBD (Component-Based Development, 구성 요소 기반 개발) CBD는 소프트웨어 개발 방법론 중 하나로,소프트웨어를 독립적인 구성 요소(component)로 분리하고 이러한 구성 요소들을 조합하여 전체 소프트웨어 시스템을 구축하는 개발 방법을 의미한다. 이 방법론은 시스템을 작은 모듈로 분해하고 이 모듈들을 재사용 가능한 구성 요소로 간주하여 개발한다. 이로써 유지 보수성과 재사용성이 향상되며 대규모 프로젝트의 복잡성을 줄이는 데 도움을 준다. CBD는 주로 웹 애.. 2023. 8. 30.
자바와 절차적/구조적 프로그래밍 Preface 1장에선 딱히 정리할만한 부분이 없어서 2장부터 정리를 시작한다. 작가는 코드를 STS(Spring Tool Suite)로 실행해 볼 것을 권장했지만, 대부분 매우 짧고 간단한 코드라 이미 설치되어 있는 이클립스를 사용했다. 이번 장 까지는 절차적/구조적 프로그래밍에 대한 간단한 설명, 기본적인 메모리 구조 사용 방법 등 익숙한 부분을 다뤄서 쉽게 읽고 넘어갈 수 있었다. 다만, CBD와 OOP의 차이점에 대해선 아직 정확히 구분할 수가 없다. 두 방식에 대해선 조금 더 자세히 공부할 필요가 있을 것 같다. - SOA(Service-Oriented Architecture): 서비스 지향 아키텍처 → 애플리케이션을 독립적인 서비스 단위로 분리하여 구축하고 통합하는 접근 방식 - CBD(Com.. 2023. 8. 30.
자바 객체 지향의 원리와 이해 출처 자바 객체지향의 원리와 이해 카테고리에 있는 모든 글들은 김종민 교수님의 『스프링 입문을 위한 자바 객체 지향의 원리와 이해』 (위키북스)에서 정리·요약 및 간접인용한 내용임을 밝힙니다. 2023. 8. 30.
Kakao Map API & Sample 카카오에서 제공하는 지도 API 사용 방법과 다양한 예제를 제공하는 사이트이다. 측면 사이드바에서 Sample 카테고리에 들어가 다양한 실습을 해볼 수도 있다. 링크: https://apis.map.kakao.com/ 2023. 7. 14.
카카오 책 검색 REST API를 사용한 웹사이트 제작 Preface 정보처리기능사 실기 시험 신청까지 시간이 남아 카카오의 검색 API를 사용해 간단한 책 검색 웹사이트를 제작해봤다. 카카오 API를 사용하는 방법은 조코딩님의 유튜브 강의를 참고했고, 부가적인 기능들은 생각날 때마다 하나하나 추가해가며 만들었다. 사실 모든 코드를 혼자 작성했다기보단, GPT에게 질문을 하며 필요한 부분들을 수정하는 방식으로 진행했다. CSS를 자주 사용해보지 않아서 그런지 중요 기능들을 수행하는 코드보다 CSS 코드를 작성하는 데 시간이 더 걸렸다. 또, 제작한 페이지를 깃허브에서 호스팅했지만, 인증키 노출 문제로 인해 현재는 중단한 상태이다. 깃허브의 action secrets를 사용하면 인증키를 숨긴 상태로 호스팅을 할 수 있을 것 같기도 한데, 아직 해결 방법을 찾지.. 2023. 7. 13.
Chat-GPT 질의응답 모음 Preface 코드를 작성하며 중간중간 GPT에게 물어봤던 자바스크립트 관련 질문을 한 곳에 모아두고자 글을 업로드한다. - var, let, const의 차이점 1) `var`: `var` 키워드는 ES5 이전에 사용되던 변수 선언 방식입니다. `var`로 선언된 변수는 함수 스코프를 갖습니다. 함수 내에서 선언된 `var` 변수는 해당 함수 내에서만 접근할 수 있으며, 함수 외부에서는 접근할 수 없습니다. 또한, `var` 변수는 재선언 및 재할당이 가능합니다. 이러한 특징으로 인해 `var` 변수는 호이스팅(hoisting) 현상이 발생할 수 있습니다. 2) `let`: `let` 키워드는 ES6에서 도입된 블록 스코프를 갖는 변수 선언 방식입니다. `let`으로 선언된 변수는 해당 블록(중괄호 `.. 2023. 7. 8.
(Fin) 로컬 웹 서버에 배포하기 Preface 이번 장을 끝으로 JSP 책을 모두 마쳤다. 아무리 오래 걸려도 한 달 내로 책을 끝낼 계획이었지만, 생각보다 공부할 내용들도 많고 복잡한 내용들도 있어서 기존 계획보다 조금 더 걸렸다. 그래도 JSP를 공부하며 웹 애플리케이션, 웹 서버 등 웹과 관련된 다양한 지식들을 얻을 수 있었고, 간단한 프로젝트들을 진행하며 나만의 프로젝트를 진행하고 싶다는 욕심도 생긴 것 같다. 8월 중순에 있을 정보처리기능사 실기 시험을 대략 한 달 정도 준비할 계획이라 그 전까진 간단한 토이 프로젝트롤 진행해볼 생각이다. 시험을 친 후엔 Spring을 공부하며 더욱 다양한 프로젝트를 진행하지 않을까 싶다. 코테/면접/포트폴리오 등 취업 준비도 해야 하고 node와 aws도 공부하고 싶고... 할 일이 너무 많.. 2023. 7. 6.
네이버 검색 API를 활용한 검색 결과 출력하기 Preface 이번 장에선 네이버의 검색 API를 활용하여 검색 결과를 출력하는 화면을 만들었다. 오픈 API를 활용하는 방법은 이미 유튜브에서 여러 번 접해서 익숙하지만, 자바스크립트와 jQeury Ajax를 사용하는 코드는 아직도 조금씩 헷갈린다. 1. API란? - API(Application Programming Interface): 응용 프로그램 간에 상호 작용하기 위한 규칙과 기능을 제공하는 인터페이스 → 소프트웨어 개발에서 다른 응용 프로그램이나 서비스와 상호 작용할 수 있도록 도와주는 중간 계층 - 오픈 API: 서비스를 제공하는 업체에서 외부 개발자가 자사 서비스의 기능을 간단히 호출해 이용할 수 있도록 공개해둔 API 1) 주로 HTTP 프로토콜로 통신한다. 2) 응답 데이터의 형태는 .. 2023. 7. 6.