전체 글(70)
-
[C# 시작 전 필수] Class의 개념
💡클래스란?클래스(Class)는 객체(Object)를 생성하기 위한 청사진(설계도 혹은 정의)다. ex) 붕어빵 틀 - 클래스 / 붕어빵 - 인스턴스 또는 객체 (객체와 인스턴스는 거의 같은 의미이다.) 객체지향에 대한 기본 개념 설명은 https://voltnuna.tistory.com/291 참고클래스는 필드(속성 즉 변수 ), 메서드(행동), 생성자 등을 포함할 수 있으며, 객체의 데이터와 동작을 정의하는 역할을 합니다.클래스의 기본 구조 작성법 배우기고양이 다마고치로 클래스를 만들어보자. 아래는 고양이에대한 클래스다. 먹이를 주거나 놀이를 해주면 행복지수가 올라가고, 지루하면 행복지수가 떨어지게 동작하는 기능이 있다.고양이 클래스를 통해 bori라는 3살짜리 고양이 객체를 만들고 고양이 클래스..
2025.03.19 -
[C# 시작 전 필수] 객체지향(OOP)이란?
💡 객체지향(Object-Oriented Programming, OOP)이란?"객체(Objects)"를 중심으로 프로그램을 구성하는 방식으로, 실제 세계를 모델링하여 코드로 표현하는 방법입니다.💡 객체지향의 장점?✔ 코드 재사용성 (상속) → 같은 코드 반복하지 않고 재사용 가능✔ 유지보수 용이 (캡슐화) → 필요한 부분만 수정 가능✔ 확장성 (다형성) → 기능을 쉽게 추가 가능✔ 현실 세계 모델링 쉬움 → 코드가 직관적이고 이해하기 쉬움💡 그렇다면, 객체(Object)란?객체는 데이터(속성, 변수)와 동작(메서드)을 하나로 묶은 것 예를들어 자동차를 생각해보자.🚗 자동차 객체는 다음과 같은 데이터와 동작을 갖는다.속성(데이터): 색상, 속도, 브랜드, 연료량동작(메서드): 가속하기, 감속하기,..
2025.03.15 -
[C# 시작 전 필수] 객체지향(OOP)의 4대 특징 (feat.캡슐화, 상속, 다형성,추상화)
1. 캡슐화(Encapsulation): 주 목적은 '데이터 은닉'이다. 민감한 데이터를 private로 감춰서 public의 setter, getter 메소드로만 private로 감춘 데이터에 접근&변경할 수 있다. 즉, read-only, write-only한 선택적 접근을 제어할 수 있게 된다. ==> public보다 보안성이 증가, 민감한 데이터 안전하게 컨트롤class 은행계좌 { private int 잔액; // 외부에서 접근할 수 없게 private으로 설정 public void 입금(int 금액) { 잔액 += 금액; // 입금 기능은 제공하지만, 잔액은 직접 수정할 수 없게 함 } public void 출금(int 금액) { if..
2025.03.15 -
[C# 시작 전 필수] 객체지향의 '접근 제한자'
🔒 접근 제한자(Access Modifiers)란?클래스, 변수, 메서드 등에 대한 접근 범위를 제한하는 키워드.즉, 어디에서 해당 멤버를 사용할 수 있는지를 결정하는 역할을 한다.왜 접근 제한자를 사용할까? (Why Use Access Modifiers?)접근 제한자는 코드의 안정성과 보안성을 높이기 위해 필요합니다.즉, 불필요한 접근을 막고, 필요한 부분만 공개하여 코드를 더 안전하고 유지보수하기 쉽게 만들기 위해 사용합니다.예를들어 밥통을 생각해보자. 사용자에게는 밥통을 사용하는 데에 필요한 기능들 즉 버튼들만 노출시키면 된다. 굳이 밥통 안에서 물을 조절하고, 열을 가열하는 등의 메소드를 보여줄 필요가 없다. 오히려 사용하기 어렵고 헷갈리기만 할 뿐이다. 반면 개발자는 이 밥통의 기능들을 유지보..
2025.03.14 -
[다시] 메모이제이션 Hooks (useMemo Vs useCallback)
useCallback과 useMemo는 모두 React에서 메모이제이션을 위해 사용하는 Hook이지만, 그 용도와 대상이 다르다. 1. 메모이제이션의 대상useCallback: 특정 함수(function)를 메모이제이션 -> 컴포넌트가 리렌더링될 때 동일한 함수 인스턴스를 재사용하고 싶을 때 사용 useMemo: 특정 값(value)을 메모이제이션 -> 연산 결과를 저장하여 불필요한 재계산을 방지하고 싶을 때 사용 2. 사용 목적 ✅ useCallback: 자식 컴포넌트에 전달되는 함수가 불필요하게 다시 생성되지 않도록 최적화하기 위해 사용합니다. 특히, 자식 컴포넌트가 React.memo로 감싸져 있을 때 효과적예시:const memoizedCallback = useCallback(() => { d..
2025.03.14 -
[다시] React Hooks + TypeScript
1. useState와 TypeScript상태(state)의 타입을 명시✅ 기본 타입 지정 (string, number, boolean 등)import { useState } from "react";function Counter() { const [count, setCount] = useState(0); return ( Count: {count} setCount(count + 1)}>+ );}✅ 객체 상태 관리 (interface 사용)interface User { name: string; age: number;}function UserProfile() { const [user, setUser] = useState(null); return ( ..
2025.03.14