Java 8

[Java] JVM의 메모리 구조 | 메서드 영역, 힙, 호출스택

JVM은 Java Virtual Machine의 약자로,자바를 실행하기 위한 가상머신입니다. 자바는 어떤 OS에도 종속받지 않기 위해 JVM을 통한 컴파일을 합니다. JVM의 메모리 구조를 사진으로 보여드리겠습니다! 여기서 참고해야 할 용어들을 이해하기 쉽게 설명드리겠습니다. 📍 메서드 영역이란?해당 클래스의 파일을 읽고 분석하여 클래스 데이터를 메서드 영역에 저장하는 역할을 합니다.이때 클래스 변수도 함께 저장됩니다. 📍 힙 영역이란?인스턴스가 생성되는 공간입니다. 즉, 인스턴스 변수가 생성되는 공간입니다. 📍 호출스택이란?메서드 작업에 필요한 메모리 공간을 제공합니다.메서드가 호출되면 호출스택에서 호출된 메서드를 위한 메모리를 할당해줍니다.이 메모리가 메서드가 작업을 수행하는 동안 지역..

Java 2025.07.08

[Java] 정보 등록 코드 | 수강생 정보 등록 코드 | 자바 객체지향 프로그래밍 예시 코드

안녕하세요!자바로 수강생 정보를 등록하는 코드를 짜보았습니다.수강생의 이름, 필수과목 3가지, 선택과목 2가지를 선택할 수 있도록 했습니다.그리고 수강생이 입력되면 자동으로 인덱스가 1개 올라가도록 했는데요! 객체지향에 익숙하지 않아서 어떻게 코드를 짜야할까 고민이 묻어난 코드입니다 ㅋㅋㅋ 코드 같이 보겠습니다!       package camp.model;import java.sql.PseudoColumnUsage;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class StudentManager { private static List studentStore = new ArrayList(); p..

Java 2024.08.02

[Java] 객체 생성 | 참조형 변수 | 객체 배열

안녕하세요!저번 포스팅에는 클래스를 설계하는 4단계를 알려드렸습니다.오늘은 객체를 생성하는 방법과 참조형 변수를 선언하는 방법을 알려드리려 합니다.     ✔️ 객체 생성 new Car(); // Car클래스 객체 생성 객체 생성 연산자인 'new'를 사용하면 클래스(여기서는 Car())로부터 객체를 생성할 수 있습니다.new 연산자 뒤에는 해당 클래스의 생성자 호출 코드를 작성합니다.여기서는 형태가 Car(); 입니다. 괄호 안에 아무것도 없는 것은 기본 생성자의 형태인데요!new  연산자에 의해 객체가 생성되면서 기본 생성자가 호출되는 것입니다~    ✔️ 참조형 변수 Car car1 = new Car(); // Car클래스의 객체인 car1 인스턴스 생성Car car2 = new Car(); // ..

Java 2024.07.31

[Java] 클래스 설계 | 객체 생성의 기초

안녕하세요!오늘은 클래스를 설계하는 방법을 알아보도록 하겠습니다. 클래스는 객체를 생성하기 위한 설계도라고 생각하시면 됩니다.이때, 클래스는 필드, 생성자 메서드를 구성 멤버로 가지고 있습니다.  클래스를 만들기 위해서는 4가지 단계가 필요합니다. 1. 클래스 선언 2. 객체가 가지고 있어야 할 속성(필드) 정의 3. 객체를 생성하는 방식 정의(생성자 정의) 4. 객체가 가지고 있어야 할 행위(메서드) 정의  순서대로 예를 들어 따라가보겠습니다!!      1) 클래스 선언 public class Car {} 공개된 자동차 클래스를 선언했다는 의미가 됩니다.   2) 클래스의 필드 정의 public class Car { String company; // 자동차 회사 String model; // ..

Java 2024.07.31

[Java] 객체지향 프로그래밍 이해하기

안녕하세요!오늘은 자바에서 가장 중요한객체지향 프로그래밍 개념에 대해 설명드리려고 합니다.  간단한 예로 들어볼까요? 우리가 하는 현실 세계에서는 어떠한 제품을 만들기 위해부품을 하나씩 조립해서 완성시킵니다. 자동차, 컴퓨터, 냉장고 등 큰 제품 혹은 볼펜처럼 작은 제품들도여러 가지 부품들을 조립하여 완성시킵니다. 소프트웨어도 마찬가지입니다!필요한 부품들을 조립해서 하나의 프로그램을 만들 수 있습니다.이 기법을 바로 객체지향 프로그래밍이라고 하는 것입니다! 소프트웨어에서의 부품을 '객체'라고 표현하는 것입니다. 이 객체가 무엇인지 살펴보겠습니다!   1. 객체란? 객체란, 세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 의미합니다.물리적으로 존재하는 객체와 개념적인 것 또한 식별이 가능하므로 객체라고 ..

Java 2024.07.29

[Java] 자바 문법 조건문 사용하기 | 자바 if문 | 자바로 가위바위보 구현하기

안녕하세요!오늘은 자바 문법 중 조건문을 통해 가위바위보를 구현해보려고 합니다.        먼저 자바에서 사용되는 if문의 기본적인 형태부터 살펴보겠습니다. if (조건1) { // 조건에 따른 실행}else if (조건2) { // 조건에 따른 실행}else { // 조건에 따른 실행} 이렇게 표현할 수 있습니다.여기서 이중if문을 사용하면  if (조건1) { if (조건1) { // 조건에 따른 실행 } else if (조건2) { // 조건에 따른 실행 } else { // 조건에 따른 실행 }}else if (조건2) { if (조건1) { // 조건에 따른 실행 ..

Java 2024.07.23

[Spring] Spring이란 무엇인가?

안녕하세요자바 공부 1일차입니다 :)       오늘은 자바와 떼놓을 수 없는 스프링이 무엇인지 배워보도록 하겠습니다!         Spring이란? 스프링은 자바 기반의 애플리케이션 프레임워크입니다. 이클립스 기반의 IDE인 Spring Tools를 제공 중이며,VS code 버전으로도 제공하고 있습니다.    Spring의 특징 1. POJO 방식: 특정 인터페이스를 직접 구현하거나 상속받을 필요 없이기존 라이브러리를 지원하기에 용이하고, 객체가 가벼움 2. 관점 지향 프로그래밍: 여러 모듈에서 공통적으로 사용하는 기능을 분리하여 관리할 수 있다. 3. 의존성 주입: 프로그래밍에서 구성요소 간의 의존 관계가 소스코드 내부가 아닌외부에서 설정을 통해 정의되는 방식 4. 제어 역전: 외부 라이브러리 코..

Java 2024.07.02

[Java] 자바란 무엇일까?

안녕하세요자바 공부 1일차입니다 :)        오늘은 자바에 대해서 배워보려고 합니다!자바가 어떤 언어인지 제대로 숙지하고 싶어서IBM에서 자바에 대해 작성해놓은 스크립트를 읽고 요약해보는 작업을 해볼게요!   https://www.ibm.com/kr-ko/topics/java Java란? | IBMJava가 여전히 소프트웨어 개발 플랫폼으로 많이 사용되는 이유는 무엇일까요? Java가 어떻게 프로젝트를 가속화하고 다양한 신기술을 지원하는지 알아봅니다.www.ibm.com  링크는 여기 있습니다.보고 중요하다고 생각하는 것을 요약해보겠습니다!         Java란? 자바의 가장 큰 특징은 바로객체 지향 프로그래밍 언어소프트웨어 플랫폼이라는 것입니다. 소프트웨어 플랫폼은 노트북 컴퓨터, 모바일 디바..

Java 2024.07.02