Category(153)
-
[Java] 프로세스와 스레드 - 1
본 포스팅은 프로세스와 스레드에 대해 다룹니다. 프로세스는 "실행 중인 프로그램"을 의미합니다. 카카오톡, 크롬 브라우저 등도 모두 프로세스라고 할 수 있습니다. 운영체제(OS)에서는 프로세스를 할당할 때, 프로세스에 code, data, 메모리 영역(Stack, Heap)을 함께 할당해줍니다. 각각의 간단한 설명은 아래와 같습니다. 1. Code 는 Java main 메소드와 같은 코드를 말합니다. 2. Data 는 프로그램이 실행중 저장 할 수 있는 저장공간을 의미합니다. 1. 전역변수, 정적변수(static), 배열등 초기화된 데이터를 저장하는 공간 3. Memory (메모리 영역) - Stack : 지역변수, 매개변수 리턴 변수를 저장하는 공간 - Heap : 프로그램이 동적으로 필요한 변수를 저..
2024.02.17 -
[Java] 상속
본 포스팅은 Java에서 등장하는 상속의 개념과 특징 그리고 오버라이딩, 다형성, 추상 클래스에 관해 다룹니다. 상속 상속은 부모 클래스의 필드와 메서드를 자식 클래스가 이용할 수 있도록 하는 것을 말합니다. 아래와 같이 부모 클래스를 상속할 수 있습니다. 자식 클래스에서 부모 클래스의 필드를 이용하려면 super를 사용하면 됩니다. public class SportsCar extends Car{ } 오버라이딩 오버라이딩은 자식 클래스가 부모의 필드와 메서드를 다시 재정의하여 사용하는 것을 말합니다. 아래와 같이 오버라이딩 할 수 있습니다. public class Car { String company; // 자동차 회사 private String model; // 자동차 모델 private String ..
2024.02.07 -
[Java] Class
본 포스팅은 Java에서 필수적인 요소인 Class의 개념과 여러 요소에 대해 다룹니다. Java는 모든 것이 클래스로 이루어져있는 클래스의 집합체라고해도 과언이 아닙니다. 따라서 클래스의 개념과 특징에 대해 잘 알아보는 것은 중요하다고 할 수 있습니다. 클래스 설계 클래스를 만들기 위해선 4가지 절차를 거칩니다. 클래스 선언: 만들고자 하는 클래스 파일을 만들고 클래스를 선언합니다. 필드 정의: 클래스가 만든 객체(인스턴스)가 가져야할 필드를 정의합니다. 생성자 정의: 객체를 생성하는 생성자를 정의합니다. -> 생성자를 정의하지않으면 기본 생성자를 Java compiler가 작성하여줍니다. 메서드 정의: 객체가 가지고있어야할 메서드를 정의합니다. 생성자 생성자는 클래스가 선언될 때, 초기화하는 역할을 ..
2024.02.07 -
[Java] Collection
본 포스팅은 Java에서 많이 사용하는 자료 구조인 컬렉션의 종류와 특징에 대해 다룹니다. 본 포스팅에서 다룰 컬렉션의 종류는 아래와 같습니다. ArrayList LinkedList Stack Queue Set Map ArrayList ArrayList는 Array와 달리 참조형 변수를 저장하는 동적 배열입니다. 배열의 크기를 미리 정하지 않고, 원소를 추가하거나 뺄 수 있습니다. LinkedList LinkedList는 ArrayList와 달리 메모리에 남는 공간을 요청해서 여기저기 나누어서 실제값을 담아놓고, 실제값이 있는 주소값으로 목록을 구성하고 저장합니다. 따라서 ArrayList보다 조회하는 속도는 느리지만, 중간에 값을 추가하는 속도는 더 빠른 특징이 있습니다. Stack Stack은 FIL..
2024.02.07 -
[Java] Array
본 포스팅에서는 Java에서 배열을 선언하는 방법과 println을 사용하여 배열 값을 출력할 때의 주의점을 다룹니다. Java에서 배열을 초기화 하는 방법은 두 가지가 있습니다. 첫 번째는 배열의 크기를 선언한 후, 값을 할당해주는 방법입니다. int[] intArray = new int[3]; for (int i = 0; i < intArray.length; i++) { intArray[i] = i + 1; } 두 번째는 값을 바로 초기화 해주는 방법입니다. int[] intArray = {1, 2, 3}; 한편, println 함수는 변수의 값을 문자열 형태로 출력하여줍니다. 주의할 것은 Java의 println함수는 toString()함수를 호출하는데, 배열의 경우 toString()은 주소값을 ..
2024.02.07 -
[Flask] 초간단! HTML과 Flask 통신 - 3
본 포스팅에서는 Naver Cloud Flatform의 API를 이용해 Flask서버에서 지도 정보를 받아서 웹 페이지에서 지도를 그려주는 것에 관해 다룹니다. Naver Cloud Flatform에서는 네이버 지도에 관한 여러 어플리케이션(e.g. Web Dynamic Map, Geocoding)을 API로 제공합니다. 회원 가입을 하고 ID를 발급 받는 과정등은 추후에 다른 포스팅에서 다루도록하고 본 포스팅에서는 geocoding을 이용하여 어떻게 지도를 불러오고 웹페이지에 그리는지에 대해 다루도록 하겠습니다. 먼저 flask서버에서 geocoding을 이용할 수 있도록 관련 설정을 해주고, requests 라이브러리의 get함수를 통해서 url의 정보를 가져옵니다. 그 후, 이것을 parsing하여..
2024.02.04