JAVA 12

<Java Spring> Spring Boot 패키지

📌 1. JAR, WAR, EAR JAR (Java Application Resource or Java Application Archive)JAR 파일은 자바 애플리케이션과 관련된 클래스 파일, 메타데이터, 리소스 파일 등을 하나의 압출 파일로 묶은 것이다. 이 파일은 자바 애플리케이션을 쉽게 배포하고 설치할 수 있도록 하는 데 도움이 된다. 또한, JAR 파일은 자바 라이브러리를 포함할 수 있어, 재사용 가능한 코드 모듈을 효율적으로 관리할 수 있다. 즉, 개발자가 개발하기 위해 필요한 기능을 압축한 것을 JAR 이라고 한다. WAR (Web Application Resource or Web Application Archive)WAR 파일은 웹 어플리케이션과 관련된 파일들을 하나의 압축 파일로 묶은 ..

JAVA 2024.07.15

[JAVA] 자바 변수(variable) 선언 및 초기화

📌 1. 변수(Variable) 이란? 변수(Variable) 는 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름이다. 자바의 변수는 다양한 타입의 값을 저장할 수 없다. 정수 타입 변수에는 정수값만 저장할 수 있고, 실수 타입 변수에는 실수값만 저장할 수 있다. 데이터 타입은 변수가 저장할 값의 종류를 나타낸다. ex>  정수를 저장하기 위한 변수는 int, 실수를 저장하기 위한 변수는 double이다. 변수 이름은 변수에 할당된 값을 참조하기 위해 사용되는 식별자이다. 변수 이름은 개발자가 자유롭게 지정할 수 있지만, 몇 가지 규칙을 따라야 한다. 변수 이름은 알파벳으로 시작해야 하며, 알파벳, 숫자, 밑줄 등의 조합으로 이루어질 수 있다.  📌 2. 변수(Variable) 의 종류? (자..

JAVA 2024.05.12

[JAVA] For문과 향상된 For문을 이용하여 반복문 실행하기

📌 1. For문이란?  For 문이란 반복문 중 하나로, 특정 조건이 참인 동안  코드 블록을 반복해서 실행합니다. 주로 반복문의 횟수를 명확할 때 사용되며,초기화, 조건 검사, 증감식을 한 줄에 표현하여 코드를 간결하게 작성할 수 있습니다. For문을 만나면 초기식을 먼저 계산하고 조건식이 참이면 문장을 실행하여 변환식을 계산하고 다시 조건식을 검사하는 반면, 조건식이 거짓이면문장을 실행하지 않고 For문을 종료한다.   📌 2. For문의 구조?  📌 초기화식 (Initialization) : 반복문이 시작될 때 최초에 한 번만 실행되는 부분으로, 변수의 초기화  📌 조건식(condition) : 반복문이 실행될 조건을 검사하는 부분으로, 조건이 "true"인 동안 반복 📌 증감식(incr..

JAVA 2024.05.01

[JAVA] Stack 메모리 구조 구현하기

[문항3] stack 메모리 구조를 Java로 간단히 구현하시오. 3.1. ArrayStack 클래스에 생성자를 정의하시오. [10점] - 스택의 크기는 생성자로 설정한다. - 즉, 생성자를 통해 1차원 배열 생성하여 멤버 변수 arr에 저장하시오. 3.2. ArrayStack 클래스에 push 메소드를 정의하시오. [15점] - push 메소드는 스택에 값을 저장한다. - 즉, push 메소드를 통해 멤버 변수 arr에 정수값이 저장된다. - 저장되는 값이 배열의 길이를 초과하면 ‘스택이 꽉 찼습니다! 용량 초과!’를 출력하시오. 3.3. ArrayStack 클래스에 pop 메소드를 정의하시오. [15점] - pop 메소드는 스택에 값을 꺼내온다. - 즉, pop 메소드를 통해 멤버 변수 arr의 정수..

JAVA 2024.04.23

[JAVA] Static, Stack, Heap | Java 메모리 영역의 구조와 특징

📌 1. JAVA 의 메모리 구조란? 프로그램을 구동하기 위해서는 운영체제(OS)가 메모리(RAM)에 데이터 및 명령어를 저장할 공간을 할당하여 줍니다. 메모리는 컴퓨터에 있어 가장 핵심이 되는 부품이고, CPU가 처리할 데이터가 임시로 저장되는 공간입니다. 동작은 하드디스크에 저장된 데이터가 메모리에 올라가서 실행되며, 메모리(RAM)를 주 기억 장치라고 부릅니다. 메모리는 사용할 수 있는 공간이 한정되어 있기 때문에 어떻게 관리하느냐에 따라서 프로그램의 성능(속도 등)이 좌우됩니다. 따라서 Java 어플리케이션에서 메모리를 효율적으로 사용하기 위해서는 메모리 구조와 특징에 대해 이해할 필요가 있습니다. 📌 2. JAVA 의 메모리 구조? 1. Static area(스태틱 메모리 영역) : 객체에 소속..

JAVA 2024.04.23

[JAVA] JVM(자바 가상머신) 과 메모리 구조

📌 1. JVM (Java Virtual Machine) 이란? 자바 가상머신 JVM (Java Virtual Machine)은 자바 프로그램 실행환경을 만들어주는 소프트웨어입니다. 자바 코드를 컴파일하여 .class 바이트 코드로 만들면 이 코드가 자바 가상 머신 환경에서 실행됩니다. JVM은 자바 실행 환경 JRE(Java Runtime Enviorment) 에 포함되어 있습니다. 현재 사용하는 컴퓨터의 운영체제에 맞는 자바 실행 환경 (JRE)가 설치되어 있다면 자바 가상 머신이 설치되어 있다는 뜻입니다. "JVM을 사용함으로써 하나의 바이트 코드(.class)로 모든 플랫폼에서 동작하도록 할 수 있습니다. .class 파일은 바이트코드라고 하는데 사람이 쓰는 자바 코드에서 컴퓨터가 읽는 기계어로의..

JAVA 2024.04.23

[JAVA] 인터페이스 (Interface)

📌 1. 인터페이스(Interface)란? 인터페이스란, 클래스들이 필수로 구현해야 하는 추상 자료형입니다. 객체의 사용방법을 가이드라인 하는 것이라고 생각하면 됩니다. 모든 메소드가 구현된 부분이 없는 추상 메소드 형태로 이루어진 클래스. 상속의 관계가 없는 클래스 간의 공통되는 로직을 구현하여 사용할 수 있습니다. 자바의 인터페이스는 추상 메서드와 상수로만 이루어져 있습니다. Implements 키워드를 사용합니다. "추상 메서드의 강제구현" 이라는 의미가 강합니다. 내부의 모든 필드가 public static final로 정의됩니다. 📌 2. 인터페이스의 특징은? 1. 다중 상속 가능 -- > 인터페이스는 껍데기만 존재하여 클래스 상속 시 발생했던 모호함이 없습니다. 고로 다중 상속이 가능합니다. ..

JAVA 2024.04.19

[JAVA] 추상 클래스, 추상 메소드 (Abstract Class, Abstract Method)

📌 1. 추상 클래스 및 추상 메소드란? 추상성(Abstractness)란 여러가지 데이터 중 공통된 속성이나 특징만 남기고 차이점을 버리는 것입니다. 추상화된 객체는 결국 실체가 사라집니다. 추상 클래스와 추상 메소드를 정의하면 다음과 같습니다. * 추상 클래스(Abstract Class) : 미완성 설계도로 추상 메소드를 포함하고 있는 클래스. abstract 키워드를 사용하여 선언한다. 추상 클래스도 일반 메소드를 가질 수 있다. 추상클래스의 객체는 생성할 수 없다. 추상클래스는 인스턴스 생성이 불가능하다. (포함하는 추상 메소드의 실체가 없으니 추상 클래스 또한 실체가 없다.) * 추상 메소드(Abstract Method) : 미완성 함수. 선언부만 정의하고 내용은 비워져 있는 메소드. {} 중괄..

JAVA 2024.04.18

[JAVA] Polymorphism (다형성) 이용하여 여러 개의 객체를 구현하기

📌 1. 다형성이란? 다형성(polymorphism)이란 부모-자식 상속 관계에 있는 클래스에서 상위 클래스가 동일한 메시지로 하위 클래스들을 서로 다르게 동작시키는 객체 지향 원리입니다. 객체 지향 프로그래밍에서 하나의 인터페이스나 추상 클래스를 통해 여러 개의 구현체를 사용할 수 있는 기능을 말합니다. 부모 type의 참조변수로 자식 type의 객체를 가리킵니다. 부모의 멤버만 접근 가능하며, 단 오버라이딩된 자식의 멤버 메소드는 접근이 가능합니다. 다형성을 활용하면 부모 클래스가 자식 클래스의 동작 방식을 알 수 없어도 오버라이딩을 통해 자식 클래스를 접근할 수 있습니다. 그렇다면 어떻게 부모가 자식이 어떤 일을 하는 지 몰라도, 자식 멤버 함수를 호출시킬 수 있을까요? 이유는 동적 바인딩 때문입니..

JAVA 2024.04.17

[JAVA] Random 구문을 이용하여 조건식에 맞는 정수값 출력하기

[문항2] 컴퓨터가 생성한 1~10 사이의 랜덤값을 맞추시오. 마지막에는 사용자가 랜덤값을 몇 번 만에 맞췄는지(횟수) 출력하시오. 2.1. 정수형 변수 random을 선언하여, 1~10 사이의 랜덤값을 저장하시오. [5점] 2.2. 사용자가 입력한 값과 랜덤값을 비교 후 출력하시오. [5점] 2.3. 사용자가 랜덤값을 맞출 때까지 정수를 입력하도록 하시오. [10점] 2.4. 사용자가 몇 번만에 랜덤값을 맞췄는지 출력하시오. [10점] 사용자에게 1~10 사이의 숫자를 맞추게 하는 게임입니다. int random = (int)(Math.random()*10)+1); : Math.random()메서드는 0.0이상 1.0 미만의 double 형태의 난수를 생성합니다. 따라서 10을 곱해주어 10.0 미만까..

JAVA 2024.04.16