전체 글218 C / C++의 포인터(pointer) * Java -> GC . C언어, C++ -> 포인터🔹 Java vs C / C++언어메모리 관리 방식특징JavaGC (Garbage Collector)가 자동으로 메모리 해제개발자가 직접 메모리 주소에 접근 불가C / C++포인터(pointer)로 직접 메모리 주소를 제어사용자가 malloc / free, new / delete로 직접 관리🧩 포인터(pointer) 기본 구조 int a = 7; // 변수 a의 값: 7 int* pa = &a; // 포인터 pa가 a의 주소를 저장 표현의미&a변수 a의 주소값paa의 주소를 저장하는 포인터 변수*pa포인터 pa가 가리키는 주소의 실제 값 (즉, a의 값)가리키는 곳에 숫자 int가 있다 !📘 예시: printf("%d", *pa); // 출력: .. 2025. 10. 25. 리액트 컴포넌트와 Props 완전 정리 리액트에서 웹 페이지를 만들 때 가장 중요한 개념 중 하나는 컴포넌트(Component)입니다.컴포넌트는 화면에 보여질 HTML 구조를 함수처럼 재사용 가능한 조각으로 만든 것을 의미합니다.이 글에서는 컴포넌트의 기본 개념, Props의 활용 방법, 그리고 다양한 Prop 문법까지 정리하겠습니다.1. 컴포넌트(Component)란?컴포넌트는 화면을 구성하는 작은 단위입니다.예를 들어, 웹 페이지의 상단 제목과 이미지를 보여주는 Header, 핵심 개념 하나를 보여주는 CoreConcept,그리고 전체 화면을 감싸는 App이 모두 컴포넌트입니다. function Header() { return ( header> h1>React Essentialsh1> header> ); } Header는 화면의 헤더 부분.. 2025. 10. 22. 자바 객체지향 & 메모리 & 배열 정리 1️⃣ 자료 구조 발전단계설명특징배열(Array)같은 타입 데이터 여러 개 저장int[], double[] 등구조체(Struct, C)여러 타입 데이터 묶음int, char, double 등 혼합 가능클래스(Class)구조체 + 메서드 + 접근제어 + 상속객체지향 설계 가능, 재사용성 높음2️⃣ 객체지향 핵심개념설명예시클래스(Class)설계도자동차 설계도객체(Object, 인스턴스)설계도로 만든 실체실제 자동차재사용 & 반복반복되는 구조/기능 → 객체 생성여러 학생 객체, 여러 자동차 객체객체 관계관계의미예시is-a“~은 ~이다” → 상속학생 is a 사람has-a“~을 가지고 있다” → 포함자동차 has a 엔진3️⃣ 접근 제어자구분같은 클래스같은 패키지상속 클래스전체private✅❌❌❌default✅.. 2025. 10. 16. 메모리 구조 🧠 메모리 공간 핵심 정리: 컴퓨터의 '기억 장소'메모리는 컴퓨터가 데이터를 저장하고 처리하는 데 사용하는 가장 중요한 '기억 장소'입니다.1. 🗺️ 메모리의 기본 구조 및 주소 체계메모리는 데이터를 보관하는 저장 공간이며, 효율적인 관리를 위해 다음과 같은 구조를 가집니다.주소가 있는 저장 공간입니다: 메모리는 수많은 작은 칸으로 나뉘어 있으며, 이 칸들에는 우편번호와 같은 고유한 주소가 부여됩니다.주소의 최소 단위는 1 Byte입니다. 하나의 메모리 주소는 기본적으로 1 Byte의 데이터를 저장합니다.주소는 16진수로 표현됩니다: 메모리 주소는 가독성을 높이기 위해 보통 16진수(0x000D, 0xFF05 등)로 나타냅니다.운영체제에 따라 주소 개수가 결정됩니다.32비트 (x32) 운영체제는 $2.. 2025. 10. 15. 배열 함수 map() → 배열 각 요소를 변형해서 새 배열을 만든다.find() → 조건에 맞는 첫 번째 요소를 반환한다.findIndex() → 조건에 맞는 첫 번째 요소의 인덱스를 반환한다.filter() → 조건에 맞는 모든 요소를 새 배열로 반환한다.reduce() → 배열을 하나의 값으로 합치거나 계산한다.concat() → 배열을 합쳐서 새 배열을 만든다.slice() → 배열의 일부를 잘라 새 배열로 만든다 (원본 유지).splice() → 배열을 직접 수정해서 요소를 삭제/추가한다. 🧩 1. map()배열의 각 요소를 변형해서 새로운 배열을 만듭니다.원본 배열은 변경되지 않아요.📘 형식 : arr.map((요소, 인덱스, 배열) => { ... })📗 예시 : const nums = [1, 2.. 2025. 10. 7. react 기초 🌱 1. let & const변수를 만드는 방법이에요.키워드의미다시 값 바꿀 수 있어?let변경 가능한 변수✅ 가능const고정된 변수 (constant)❌ 불가능예시 👇 let name = "Tom"; name = "Jerry"; // 가능! const age = 20; age = 25; // ❌ 오류! const는 바꿀 수 없음 💡 정리:이제 var는 거의 안 써요.👉 값을 바꿀 거면 let, 안 바꿀 거면 const!⚡ 2. Arrow Function (화살표 함수)함수를 짧게 쓰는 방법이에요.기존 함수 👇 function sayHi(name) { console.log("Hi " + name); } 같은 기능을 화살표 함수로 👇 const sayHi = (name) => { console.. 2025. 10. 7. Import / Export 문법 복습 1. 기본 export / import📂 util.jslet apiKey = 'abc123'; export { apiKey }; 📂 app.jsimport { apiKey } from './util.js'; console.log(apiKey);export { 변수 } → 공개하기import { 변수 } from 경로 → 가져오기이름과 대소문자 맞춰야 함2. default export📂 util.jsexport default 'abc123'; 📂 app.jsimport key from './util.js'; console.log(key);파일당 하나만 가능가져올 때는 중괄호 ❌, 이름 마음대로 지정 가능리액트 컴포넌트에서 제일 많이 씀 (파일당 컴포넌트 하나 → default export 적합)3... 2025. 10. 1. Fibonacci 수열 🌱 피보나치 수열(Fibonacci)정의: 앞 두 수를 더해서 다음 수를 만드는 수열1, 1, 2, 3, 5, 8, 13, ... 일반 수식:fib(1) = 1 fib(2) = 1 fib(n) = fib(n-1) + fib(n-2) (n ≥ 3) 🔹 재귀 함수로 구현1️⃣ 단순 재귀 public static int fib(int n) { if (n == 1 || n == 2) // 1번째, 2번째 수는 1return 1; return fib(n - 1) + fib(n - 2); // 재귀 호출 } 장점: 코드가 간단하고 정의와 거의 동일단점: n이 커지면 같은 계산을 반복 → 느려짐 // 1️. 재귀 방식 피보나치 public static int fib(int n) { if (.. 2025. 9. 30. 객체 지향 프로그래밍 📌 객체지향 개요 정리1. 객체(Object)객체 = 속성(필드, 데이터) + 기능(메소드)객체마다 속성 값은 다르지만, 기능은 동일하게 제공된다.여러 객체들이 서로 다른 속성과 기능을 가지고 상호작용하며 동작한다.예: 대장 객체(호루라기), 대원 객체(자리 고르기, 텐트 치기, 밥 짓기)2. 클래스(Class)와 객체(Object)클래스: 객체를 만들기 위한 틀(템플릿, 형판)→ 붕어빵틀객체: 클래스에서 생성된 실체→ 붕어빵클래스로부터 객체를 만드는 과정을 **실체화(Instantiation)**라고 하고,이렇게 생성된 객체를 인스턴스라고 한다.같은 클래스에서 만들어진 객체들은 같은 속성과 기능을 가지지만, 속성 값은 서로 다를 수 있다.3. 객체지향 핵심 개념(1) 상속(Inheritance)기존 .. 2025. 9. 24. 이전 1 2 3 4 ··· 25 다음