java 9

[Spring] | final project 댓글 구현

오늘 할일🌐 Spring MVC 웹 애플리케이션 흐름 정리📌 1. RequestMapping & 파라미터 처리✅ 요청 매핑@RequestMapping("/process")public String processForm(@ModelAttribute User user) { // form 데이터가 자동으로 User 객체에 매핑됨}@ModelAttribute: 폼에서 넘어온 여러 개의 파라미터를 객체로 받아 처리DTO 객체와 필드명이 같으면 자동으로 매핑됨✅ 단일 파라미터 처리@RequestMapping("/login")public String login(@RequestParam String accountName, @RequestParam String password) ..

[JAVA] Linked List

1. Linked List란?**연결 리스트(Linked List)**는 데이터를 저장하는 노드(Node)들이 연결된 자료구조각 노드는 값(value)과 다음 노드를 가리키는 포인터(next)를 가짐✔ 배열(Array)와의 차이점배열 (Array)연결 리스트 (Linked List)저장 방식연속된 메모리 공간노드가 메모리 여기저기 흩어져 있음삽입/삭제 속도느림 (중간 삽입 시 데이터 밀어야 함)빠름 (포인터만 변경)검색 속도빠름 (index로 접근 가능)느림 (first부터 순차 탐색)package linkedlist;public class App {    public static void main(String[] args) {        // Node n1 = new Node();        // ..

[JAVA] 상속, 다형성

상속    부모가 자식에게 물려주는 행위를 말함, 부모 클래스를 상위 클래스라고 부르고 , 자식 클래스를 하위 클래스 또는 파생 클래스라고 불린다.      class 자식 클래스 extends 부모클래스{         //필드        //생성자        //메소드      }package p2;public class App {    public static void main(String[] args) {        AAA refA=new AAA();        refA.fieldA1=30;        BBB refB=new BBB();        refB.fieldB1=40;                CCC refC = new CCC(); //        refC.fieldA1=1..

[JAVA] 배열

배열이란?    같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스를 부여해놓은 자료구조같은 타입의 데이터만 저장할 수 있음한번 생성된 배열은 길이를 늘리거나 줄일 수 없음배열 선언/생성배열 변수는 참조 변수에 속함 배열도 객체이므로 힙 영역에 생성, 배열 변수는 힙 영역의 배열 객체를 참조배열 변수가 null 값을 가진 상태에서 변수[인덱스]로 값을 읽거나 저장하게 되면 - > NullPointer Exception[ ] : 배열 접근 연산자 int[] arr1 = new int[3];   //힙메모리 생성, 변수 생성, 참조값 넣고        arr1[0] = 70;타입[] 변수 = new 타입[길이]길이는 배열이 저장할 수 있는 값의 개수이미 배열 변수가 선언된 경우에도 new 연산..

[JAVA] Scanner

📌 scanner.nextLine()은 문자열(String) 반환그래서 int inputValue = scanner.nextLine(); 하면 오류 발생!❌ 왜 안 되는가?scanner.nextLine()은 입력을 문자열(String) 로 받음.하지만 int inputValue는 정수(int) 를 저장해야 해서 자료형 불일치 오류가 남. Scanner scanner = new Scanner(System.in);  int inputValue = scanner.nextLine(); // ❌ 오류 발생 (String을 int에 저장할 수 없음)🚨 오류 메시지:Type mismatch: cannot convert from String to int(타입 불일치: String을 int로 변환할 수 없음) 🚀 ..

[2주차] 연산자

연산자 종류연산자피연산자 수산출값기능산술+   -   *    /   %이항숫자사칙연산 및 나머지 계산문자열+이항문자열두 문자열을 연결대입=   +=   -=   *=   /=   %=이항다양우변의 값을 좌변의 변수에 대입증감++   --단항숫자1만큼 증가/감소비교==  >=  >  =  이항boolean값의 비교논리!  &  |  &&  ||단항이항boolean논리 부정, 논리곱, 논리합조건(조건식) ? A : B삼항다양조건식에 따라 A 또는 B 중 하나를 선택  √ 연산의 방향과 우선순위단항,이항,삼항 연산자 순으로 우선순위를 가짐산술,비교,논리, 대입 연산자 순으로 우선순위를 가짐복잡한 연산식에는 괄호 ()를 사용해서 우선순위를 정함피연산자 중 하나라도 문자가 들어가있으면 무조건 문자 연산됨    ..

[JAVA] Garbage Colletion(가비지 컬렉션)

Garbage Colletion    더 이상 사용되지 않는 객체를 자동으로 제거하여 메모리를 효율적으로 관리하는 기능   Java, Pytho, C# 등 메모리를 자동 관리하는 언어에서 사용됨  장점C, C++ 에서는 사용되지 않으며 개발자가 직접 메모리(free() 등) 해야함.Garbage Colletion 동작 방식:객체가 생성됨 → 힙(Heep) 메모리에 저장됨.사용 중인 객체 → 계속 참조됨(제거되지 않음)사용하지 않는 객체 → 참조가 끊어지면 가비지 컬렉터가 자동으로 제거함.메모리가 확보됨 → 새로운 객체를 위한 공간이 생김.Java의 Garbage Colletion 특징JVM(Java Virtual Machine)이 자동으로 실행개발자가 직접 delete 같은 명령을 쓸 필요 없음Stop-..

[JAVA] 형변환 | promotion, type casting

Promotion, Type Casting public class P6 {    public static void main(String[] args) {        int a = 10;        a = 20;        a = 30;        //a = 20.1; //타입 미스매치(중요한 표현) 오류뜸 선언한게 int기 때매 실수형은 못 들어감 정수형만 가능        double b = 20.1; // 변수명 중복 안됨        b = 30.3333;        b = 10;  //타입 미스매치!         System.out.println(b);    }}    1️⃣ Promotion (자동 변환)✅ 작은 데이터 타입 → 큰 데이터 타입 (자동 변환)💡 데이터 손실이 없으므로..

2주차 [개발 환경 세팅하기]

지난주에는 파이썬으로 기초를 맛보기라 했다면 이제 실전으로 자바를 배우기로했다  개발 환경 세팅 하기amazon corretto jdk 17 downloadhttps://corretto.aws/downloads/latest/amazon-corretto-17-x64-windows-jdk.zip위의 링크 참고  jdk17.0.14_7/bin 파일 안에 java : vm(virtual machine)javac : 컴파일러 파일 자바는 버츄얼머신으로 로드하고 실행시킴 개발 툴은 VScode로 진행한다 하셨다extensions 조립이 굉장히 중요함   preferences -> settings -> java configuration runtimes -> editing settings.json 설정환경 변수 설정과..