2025/04(61)
-
프로그래밍의 3가지 패러다임
실무에서 주로 사용되는 주요 프로그래밍 패러다임은 3가지다.1. 절차지향 프로그래밍순차적인 처리 흐름대표 언어: C특징: 데이터와 함수의 분리, 순서대로 실행장점: 단순한 문제 해결에 효율적단점: 큰 프로그램의 유지보수 어려움2. 객체지향 프로그래밍객체 단위로 설계대표 언어: Java, C++특징: 캡슐화, 상속, 다형성장점: 재사용성, 유지보수 용이단점: 설계가 복잡할 수 있음3. 함수형 프로그래밍순수 함수와 불변성 강조대표 언어: Haskell, (최근) JavaScript특징: 상태 변경 없음, 부수효과 최소화장점: 테스트 용이, 병렬 처리 유리단점: 러닝커브가 높음실무 활용:대규모 엔터프라이즈: 객체지향웹 프론트엔드: 함수형 + 객체지향시스템 프로그래밍: 절차지향현대에는 이러한 패러다임들을 상황에..
2025.04.30 -
자바의 주요 메서드
개념 설명toString(): 객체를 문자열로 표현 (JS의 toString()과 유사)equals(): 객체의 내용 비교 (JS의 === 연산자와 유사)hashCode(): 객체의 해시코드 값 반환clone(): 객체의 복사본 생성valueOf(): 다른 타입의 값을 특정 타입으로 변환 (JS의 parseInt() 등과 유사)비유 설명toString(): 객체의 "명함" 같은 역할equals(): 두 물건의 내용물을 꺼내서 하나하나 비교하는 것clone(): 복사기로 문서를 복사하는 것과 유사사용 목적toString(): 객체 정보의 문자열 표현이 필요할 때equals(): 객체의 내용 비교가 필요할 때hashCode(): 해시 기반 컬렉션에서 사용clone(): 객체의 깊은 복사가 필요할 때value..
2025.04.30 -
Java와 JavaScript 제어문(조건문, 반복문) 비교
1. Java와 JavaScript 제어문 비교표구분제어문 유형JavaJavaScript공통 기본 조건문if✓if-elseif-else if-elseswitch-case삼항 연산자 (? :)whiledo-whilefortry-catch-finallyinstanceofJava 전용switch expression✓ Enhanced for (for-each)synchronized 블록assertLabel 제어 (보편적)JavaScript 전용for...in ✓for...of널 병합 연산자 (??)옵셔널 체이닝 (?.)단축 평가 (&&, ∥)async/awaitPromise 체이닝Label 제어 (제한적)버전별 특징Java 12+ switch 표현식✓ Java 16+ 패턴 매칭✓ ES2020+ 널 병합 연산자 ..
2025.04.30 -
자바와 자바스크립트의 차이점
1. 기본 개념과 목적자바: 컴파일 언어로서 범용 프로그래밍 언어이며, 주로 백엔드 서버 개발에 사용됩니다.자바스크립트: 인터프리터 언어로서 웹 브라우저에서 동작하는 스크립트 언어로 시작했으나, 현재는 Node.js를 통해 서버 개발도 가능합니다.2. 실행 과정 비교컴파일 언어 (예: Java, C++)음식을 한 번에 모두 준비해서 완성된 도시락을 만드는 것과 같습니다.전체 코드를 한 번에 기계어로 변환한 후 실행합니다.준비 시간(컴파일)은 오래 걸리지만, 실행(식사)은 빠릅니다.도시락을 만들 때 재료나 조리 과정의 문제를 미리 발견할 수 있습니다.소스코드(.java) → 컴파일러 → 바이트코드(.class) → JVM → 실행인터프리터 언어 (예: JavaScript, Python)주문이 들어올 때마다..
2025.04.30 -
자바의 연산자
기본 개념자바의 연산자는 값에 대한 연산을 수행하는 기호입니다. 요리에 비유하자면, 재료(피연산자)를 가지고 요리 방법(연산자)을 통해 새로운 음식(결과값)을 만드는 것과 같습니다.주요 연산자 종류산술 연산자+ (덧셈)- (뺄셈)* (곱셈)/ (나눗셈)% (나머지)비교 연산자== (같다)!= (다르다)> (크다)= (크거나 같다)논리 연산자&& (AND)|| (OR)! (NOT)주의할 점정수 나눗셈에서 주의할 점int result = 5 / 2; // 결과는 2 (소수점 버려짐)double result2 = 5 / 2; // 결과는 2.0 (이미 정수 나눗셈이 수행된 후)double result3 = 5.0 / 2; // 결과는 2.5 (올바른 실수 나눗셈)null 값 연산 주의String str = n..
2025.04.30 -
2. 자바의 자료형(Data Type)
1. 기본 개념자바의 자료형은 크게 기본형(Primitive Type)과 참조형(Reference Type)으로 나뉩니다.기본형(Primitive Type):실제 데이터 값을 저장메모리에 직접 값을 저장Stack 메모리에 저장8가지 기본형 존재참조형(Reference Type):객체의 주소를 저장Heap 메모리에 데이터 저장배열, 클래스, 인터페이스 등2. 기본형 자료형 상세종류자료형크기범위기본값논리형boolean1bytetrue/falsefalse문자형char2byte0 ~ 65,535'\u0000'정수형byte1byte-128 ~ 1270short2byte-32,768 ~ 32,7670int4byte-2,147,483,648 ~ 2,147,483,6470long8byte-9,223,372,036,85..
2025.04.28 -
1. 자바 파일 생성하기
기본 규칙// HelloWorld.java 파일public class HelloWorld { // 클래스 이름은 파일명과 동일해야 함 public static void main(String[] args) { System.out.println("Hello World!"); }}파일명은 클래스명과 정확히 일치해야 함확장자는 .java하나의 파일에 public class는 하나만 존재대소문자 구분 주의IDE(통합개발환경)를 사용하는 경우IntelliJ IDEA 사용 시:File → New → Java Class클래스 이름 입력자동으로 .java 파일 생성Eclipse 사용 시:File → New → Class클래스 이름 입력public static void main 체크박스 선택 가능직접 생성하는..
2025.04.28 -
자바 학습 로드맵
【1단계: 자바 기초 개념】자바 플랫폼 이해JDK, JRE, JVM의 차이컴파일과 실행 과정바이트코드의 개념핵심 개념 차이:컴파일타임 vs 런타임인터프리터 방식 vs JIT 컴파일소스코드(.java) vs 바이트코드(.class)메모리 구조스택과 힙메소드 영역가비지 컬렉션 기본 개념핵심 개념 차이:스택 메모리 vs 힙 메모리스택: 정적 할당, 함수 호출 시 생성힙: 동적 할당, 객체 저장정적 영역 vs 동적 영역변수와 데이터 타입기본형(primitive type)참조형(reference type)변수 스코프형변환(casting)핵심 개념 차이:기본형 vs 참조형기본형: 실제 값 저장참조형: 주소 값 저장값의 전달방식Call by ValueCall by Reference지역변수 vs 멤버변수명시적 형변환 ..
2025.04.28 -
객체의 키와 값을 표현식으로 사용하는 경우
// 1. 폼 유효성 검사const formValidation = { [`field_${fieldName}`]: { isValid: value.length >= minLength, errorMessage: value.length 이런 패턴들은 다음과 같이 사용됨동적 데이터 처리설정 자동화유연한 시스템 구축
2025.04.27 -
멀티 환경 프로젝트(프론트와 백 폴더를 분리해서 실행)
프론트엔드 + 백엔드 통합 개발 환경 가이드1. 개발 환경 구성프론트엔드 개발 환경Vite 개발 서버 (Development Server)실제 서버가 아닌 개발 편의를 위한 도구Hot Module Replacement(HMR), 실시간 코드 반영 등 지원백엔드 서버Node.js 기반 실제 서버API 엔드포인트 제공데이터 처리 및 비즈니스 로직 수행개발 vs 운영 환경 차이개발 환경클라이언트 Vite 개발 서버 (localhost:3000) ↕ 백엔드 서버 (localhost:4000)프로덕션 환경클라이언트 웹 서버(Nginx 등) 2. 프로젝트 구조 및 목적프로젝트 구조프로젝트 루트/├── package.json (메인)├── react-shop..
2025.04.26