분류 전체보기 159

[인프런] 객체 지향 프로그래밍

데이터와 기능을 하나로 묶어서 하나의 클래스에 담아서 사용한다. 프로그램을 작성하는 절차도 중요하지만 음악 플레이어라는 하나의 개념을 객체로 온전하게 만드는 것이 더 중요하다. 그러기 위해서는 프로그램의 수행 순서보다는 음악 플레이어 클래스를 만드는 것 자체에 집중해야한다. 음악 플레이어가 어떤 속성을 가지고 어던 기능을 제공하는지에 초점을 맞추어야 한다. public class MusicPlayer { int volume = 0; boolean isOn = false; void on() { isOn = true; System.out.println("음악 플레이어를 시작합니다."); } void off() { isOn = false; ..

Java 2024.05.21

[인프런] 절차 지향 프로그래밍

프로그래밍 방식은 크게 절차 지향 프로그래밍과 객체 지향 프로그래밍으로 나눌 수 있다.절자지향프로그래밍- 절차 지향 프로그래밍은 이름 그대로 절차를 지향한다. 실행 순서를 중요하게 생각하는 방식이다.- 프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 객체지향프로그래밍- 객체를 중요하게 생각하는 방식이다.- 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식이다.=> 절차 지향은 데이터와 해당 데이터에 대한 처리 방식이 분리되어 있다. 반면 객체 지향에서는 데이터와 그 데이터에 대한 행동(메서드)이 하나의 객체 안에 함께 포함되어 있다. 절차지향 프로그래밍으로 코드 구성public class MusicPlayerMain1 { public static void main(String[] args)..

Java 2024.05.21

[인프런] null과 NullPointerException

null참조형 변수에는 항상 객체가 있는 위치를 가리키는 참조값이 들어간다. 그런데 아직 가리키는 대상이 없거나, 가리키는 대상을 나중에 입력하고 싶으면 null이라는 특별한 값을 넣어둘 수 있다.null은 값이 존재하지 않는, 없다는 뜻이다. public class Data { int value;}public class NullMain1 { public static void main(String[] args) { Data data = null; System.out.println("1.data = " + data); data = new Data(); System.out.println("2.data = " + data); data =..

Java 2024.05.20

[인프런] 변수와 초기화

변수의 종류- 멤버 변수 : 클래스에 선언- 지역 변수 : 메서드에 선언, 매개 변수도 지역 변수의 한 종류이다. 지역 변수는 이름 그대로 특정 지역에서만 사용되는 변수라는 뜻이다. 변수의 값 초기화멤버 변수 : 자동 초기화인스턴스의 멤버 변수는 인스턴스를 생성할 때 자동으로 초기화된다.숫자(int)=0, boolean=false, 참조형= null개발자가 초기값을 직접 지정할 수 있다.지역변수 : 수동 초기화지역변수는 항상 직접 초기화 해야 한다.public class InitData { int value1; // 초기화 하지 않음 int value2 = 10; // 10으로 초기화}public class InitMain { public static void main(String[] a..

Java 2024.05.20

[인프런] 기본형과 참조형

변수의 데이터 타입을 가장 크게 보면 기본형과 참조형으로 분류할 수 있다. 사용하는 값을 변수에 직접 넣을 수 있는 기본형과 객체가 저장된 메모리의 위치를 가르키는 참조값을 넣을 수 있는 참조형으로 분류할 수 있다.- 기본형 ( Primitive Type ) : int, long, double처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입을 기본형이라 한다.- 참조형 ( Reference Type ) : Student student, int [] students와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입을 참조형이라 한다. 참조형은 객체 또는 배열에 사용된다.- 숫자 10, 20과 같이 실제 사용하는 값을 변수에 담을 수 있고, 해당 값을 바로 사용할 수 있다.- 참조형은..

Java 2024.05.20

[인프런] 배열

배열 도입 - 시작클래스와 객체 덕분에 학생 데이터를 구조적으로 이해하기 쉽게 변경할 수 있었다. 하지만 학생을 출력하는 부분에 있어 새로운 학생이 추가될 때마다 출력되는 부분을 함께 추가해야한다는 불편함이 있다.배열을 사용하면 특정 타입을 연속한 데이터 구조로 묶어서 편리하게 관리할 수 있다.Studnet 클래스를 사용한 변수들도 Student 타입이기 때문에 학생도 배열을 사용해서 하나의 데이터 구조로 묶어서 관리할 수 있다. 배열에 참조값 대입- Stundent 변수를 2개 보관할 수 있는 사이즈 2의 배열을 만든다.- Student 타입의 변수는 Student 인스턴스의 참조값을 보관한다. Student 배열의 각 항목도 Student 타입의 변수일 뿐이다. 따라서 Studnet 타입의 참조값을 ..

Java 2024.05.20

[인프런] 클래스의 사용 및 크래스, 객체, 인스턴스의 정리

객체에 값 대입객체가 가지고 있는 멤버 변수에 값을 대입하려면 먼저 객체에 접근해야 한다.객체에 접근하려면 . 키워드를 사용하면 된다. 이 키워드는 변수에 들어있는 참조값을 읽어서 메모리에 존재하는 객체에 접근한다. 객체 값 읽기. 키워드를 통해 참조값을 사용해서 객체에 접근한 다음 원하는 작업을 하면 된다. 클래스 - Class클래스는 객체를 생성하기 위한 틀 또는 설계도이다. 클래스는 객체가 가져야할 속성과 기능을 정의한다. - 틀 : 붕어빵 틀은 붕어빵이 아니다. 붕어빵이 나왔으면 좋겠다고 만드는 틀일 뿐 실제 먹을 수 있는 것이 아니다. 실제 먹을 수 있는 붕어빵을 객체 또는 인스턴스라 한다.- 설계도 : 실제 존재하는 것이 아니라 개념으로만 있는 것이다.객체 - Object객체는 클래스에서 정의..

Java 2024.05.20

메모리 구조 이해하기

컴퓨터의 메모리 구조는 크게 스택(Stack), 힙(Heap), 데이터(Data), 코드(Code) 영역으로 나눌 수 있다. 각 영역은 프로그램이 실행되는 동안 다양한 역할을 수행한다.1. 코드(Code) 영역코드 영역은 실행할 프로그램의 기계어 코드가 저장되는 곳이다.이 영역에는 함수, 루프, 변수 등 프로그램을 구성하는 모든 명령어가 포함된다.2. 데이터(Data) 영역데이터 영역은 전역 변수와 정적 변수(static variable)가 저장되는 곳이다.프로그램의 실행 시간 동안 초기화된 데이터와 초기화되지 않은 데이터(subsection)로 나뉜다.3. 스택(Stack) 영역스택 영역은 함수의 호출과 관련된 임시 데이터, 지역 변수, 매개 변수, 반환 값 등을 저장한다.함수의 호출이 시작될 때 생성..

공부할 것 ! 2024.05.12

자바 컴파일 과정 이해하기

자바 코드가 실행 가능한 형태로 변환되는 과정을 단계별로 살펴본다.자바는 독립적인 언어로서, 한 번 작성하면 어디서나 실행할 수 있는 장점을 가졌는데 이러한 특성은 자바 컴파일 과정에서 비롯된다. 자바 컴파일 과정은 소스 코드 작성에서 시작하여 실행 가능한 프로그램이 되기까지 여러 단계를 포함한다.1. 소스 코드 작성 ( .java 파일 ).java 확장자를 가진 파일에 자바 코드를 작성한다. 이 코드는 클래스, 메서드, 변수 등을 포함한다.2. 컴파일 ( .class 파일 생성 ) 소스 코드가 작성되면, 자바 컴파일러를 사용하여 소스 파일을 컴파일한다. 이 과정에서 컴파일러는 .java 파일을 읽어 들여 문법적 오류를 검사하고, 바이트 코드로 된 .class 파일을 생성한다. 바이트 코드는 자바 가상 ..

공부할 것 ! 2024.05.12

URL과 URI의 차이점 이해하기

오늘은 웹 개발에서 자주 접하게 되는 두 가지 용어, URL과 URI의 차이점에 대해 알아보려고 한다.URI(Uniform Resource Identifier)란?URI는 인터넷에 있는 자원을 식별하는 데 사용되는 문자열의 구조이다. 즉, 웹 상의 모든 자원(페이지, 이미지, 동영상 등)을 식별하기 위한 일종의 주소로 생각할 수 있다. URI는 URL과 URN으로 나뉩니다.URL(Uniform Resource Locator)이란?URL은 말 그대로 인터넷 상의 자원이 어디에 위치해 있는지를 나타내는 주소이다. URL은 자원의 위치를 가리키기 때문에, 우리가 웹 브라우저에 입력하는 웹사이트 주소가 바로 URL이다. 예를 들어, https://www.example.com는 웹 서버의 위치를 나타내는 URL이..

공부할 것 ! 2024.05.12

HTTP 상태 코드 이해하기

HTTP 상태 코드는 서버가 클라이언트의 요청을 받았을 때, 그 요청의 처리 결과를 클라이언트에 알려주는 역할을 한다. HTTP 상태 코드의 5가지 범주1xx (정보 응답): 요청을 받았으며 프로세스를 계속한다는 정보를 나타낸다.2xx (성공): 요청이 성공적으로 받아들여졌고 처리되었음을 나타낸다.3xx (리다이렉션 완료): 요청 완료를 위해 추가적인 조치가 필요함을 나타낸다.4xx (클라이언트 오류): 요청에 오류가 있어서 서버가 요청을 수행할 수 없음을 나타낸다.5xx (서버 오류): 서버가 유효한 요청을 처리하지 못했음을 나타낸다.주요 HTTP 상태 코드200 OK: 요청이 성공적으로 처리되었습니다. 가장 일반적인 성공 응답이다.301 Moved Permanently: 요청된 리소스가 영구적으로 새..

공부할 것 ! 2024.05.12

HTTP 메서드의 이해와 활용

HTTP 메서드란 ? HTTP는 클라이언트와 서버 간에 데이터를 주고 받기 위한 프로토콜로, 클라이언트가 서버에게 수행하길 원하는 동작을 지정하는 방법이다. 주요 HTTP 메서드로는 GET, POST, PUT, DELETE 등이 있다.GET : 서버로부터 정보를 조회하기 위해 사용된다. 데이터를 가져올 때만 사용하며 데이터를 변경하지 않는다. URL에 쿼리 문자열을 포함 시켜 요청하며, 데이터를 URL에 포함 시켜 전송한다.POST : 서버로 데이터를 전송하여 새로운 자원을 생성하기 위해 사용된다. 예를 들어 새 글을 작성하거나 정보를 제출할 때 사용한다. 데이터를 요청 본문에 담아 전송하며, 데이터의 길이에 제한이 없다.PUT : 서버에 존재하는 자원을 대체하거나 자원이 없는 경우 새로 생성하기 위해 ..

공부할 것 ! 2024.05.12

도커 컨테이너의 생명주기

도커의 생명주기 중에서 생성과 실행 부분지금까지 docker run 으로 컨테이너를 생성 및 실행했는데, 이를 생성과 실행으로 쪼개서 해보도록 한다.실제로 cmd창에서 create를 해보면, 생성된 컨테이너의 아이디를 확인할 수 있다. 확인한 컨테이너의 아이디로 start를 해본다.-a 옵션은 도커 컨테이너가 실행될 때 붙어 있어서 거기서 나오는 output들을 화면에 표출해주는 역할을 한다.도커의 생명주기 중에서 중지 부분docker stop과 docker kill로 중지가 가능docker stop을 이용하여 중지docker kill을 이용하여 중지Stop과 Kill의 차이둘 다 실행 중인 컨테이너를 중지시키지만, stop은 그동안 하던 작업들을 완료하고 컨테이너를 중지 시킨다. 따라서 중지하는데 시간..

Docker 2024.05.12