반응형

2025/04/08 7

System.arraycopy()란?

✅ 1. System.arraycopy()란?배열의 일부 또는 전체를 다른 배열로 빠르게 복사하는 자바 표준 함수.기본형식:✅ 2. 각 매개변수 뜻순서의미예시 설명1️⃣원본 배열어디서 복사할지2️⃣원본 인덱스복사 시작할 위치 (0이면 처음부터)3️⃣대상 배열어디로 복사할지4️⃣대상 인덱스복사해서 넣을 위치5️⃣길이몇 개를 복사할지✅ 3. 간단한 예제✅ 출력 결과: 📌 → origin 배열을 통째로 target 배열로 복사한 것!✅ 4. 부분 복사도 가능해이건 무슨 뜻이냐면:origin[1]부터 3개를target[2] 위치부터 복사해서 넣는다✅ 5. 왜 arraycopy를 쓰냐면?for문보다 빠르고 효율적이야 (자바 내부에서 최적화됨)대량의 데이터 복사할 때 특히 유용해✅ 한 줄 요약System.arra..

java 자바로 알고리즘을 만들 수 있을까 ?

✅ 왜 자바로 알고리즘을 만들 수 있을까?자바는:배열, 리스트, 맵 등 자료구조가 풍부하고반복문, 조건문, 함수 모두 있고속도도 빠르고, 안정성도 좋아서→ 알고리즘을 설계하고 테스트하기에 딱 좋아✅ 자바로 만들 수 있는 대표적인 알고리즘 예시알고리즘 유형자바로 구현 가능 예시정렬 알고리즘버블 정렬, 삽입 정렬, 퀵 정렬, 병합 정렬탐색 알고리즘이진 탐색, 선형 탐색재귀 알고리즘피보나치, 팩토리얼그리디 알고리즘거스름돈, 회의실 배정 문제완전탐색순열, 조합, 브루트포스DFS/BFS미로찾기, 그래프 탐색DP(동적계획법)피보나치 최적화, 배낭 문제백트래킹N-Queen, 스도쿠해시/맵중복 체크, 빠른 검색✨ 정리✅ 자바는 알고리즘 구현에 아주 강력한 언어✅ 코딩 테스트, 백준, 프로그래머스, SW 역량 테스트에서..

깃발 변수(Flag Variable)

✅ 깃발 변수(Flag Variable)의 개념"어떤 일이 일어났는지" 확인하는 표시 역할조건에 따라 흐름 제어를 할 때 자주 사용됨🔍 예시 (Java)👆 여기서 isFound는 찾았는지 여부를 기록하는 깃발(플래그)야.📌 깃발 변수를 사용하는 이유반복문 내에서 조건이 만족됐는지 추적조건 충족 여부에 따라 이후 동작 제어로직을 깔끔하게 분리할 수 있음

테스트 더블(Test Double) : Mock, Stub, Spy의 차이

✅ **📌 테스트 더블 (Test Double)**란?테스트를 쉽게 만들기 위해 실제 객체를 흉내 낸 가짜 객체들영화에서 대역 배우(double) 쓰는 것처럼,→ 테스트에서도 진짜 객체 대신 **“가짜 객체”**를 쓰는 거임.🧩 테스트 더블의 5가지 유형종류설명대표 특징Dummy값 전달만 하고 사용되지 않음쓰이진 않지만 인자 채우기용Stub미리 정해진 값 반환로직 없이 값만 반환Mock메서드 호출 여부 등 행동 검증assert_called 등 사용Spy진짜 객체를 감시, 일부만 가짜로 대체실제 동작 + 호출 기록Fake진짜처럼 동작하지만 단순한 구현체예: 메모리 DB💡 정리하자면:🔹 이것들은 테스트 자체가 아니라, 테스트를 "도와주는 역할자"🔹 Mock, Stub, Spy → 전부 Test Do..

테스트 더블(Test Double)-> 목 객체(Mock Object)

✅ **목 객체(Mock Object)**란?실제 객체를 대신해 테스트 용도로 만든 가짜 객체원래는 DB, API, 파일 등 외부 자원이 필요한데→ 그거 없이 테스트할 수 있게 만든 가짜 객체야.테스트 대상 함수가 의존하는 객체를 흉내 내서→ 결과값을 미리 정해두고, 테스트를 깔끔하게 할 수 있어.📌 왜 써?1️⃣ 외부 의존 없이 테스트 가능2️⃣ 예측 가능한 결과로 빠르게 테스트3️⃣ 비용 절감 (DB 호출, API 호출 생략)4️⃣ 단위 테스트에 딱 맞음📌 핵심 요약:실제 객체 흉내 내는 가짜 객체외부 의존 제거 → 단위 테스트에 유용✅ 📍목 객체를 써야 할 때1️⃣ 외부 시스템에 의존할 때예: DB, API, 파일 시스템 등➡ 테스트할 때 속도 느림, 비용 큼, 에러 발생 위험➡ 그래서 가짜(..

단위 테스트

✅ 단위 테스트 (Unit Test)프로그램의 가장 작은 단위(함수, 메서드 등)를 개별적으로 테스트하는 것보통 하나의 함수, 하나의 클래스 메서드 수준에서 테스트다른 모듈이나 시스템은 무시하고 독립적으로 검사코드 수정 시, 기능이 잘 동작하는지 빠르게 확인 가능📌 예시1️⃣ 자바에서 덧셈 함수 테스트→ add(2, 3)의 결과가 5인지 확인2️⃣ 로그인 기능에서 비밀번호 검증 함수→ check_password("1234", "1234") → True→ check_password("1234", "0000") → False🛠️ 자주 쓰는 테스트 도구Java → JUnitPython → unittest, pytestJavaScript → Jest, Mocha ✅ 단위 테스트를 하는 이유1️⃣ 버그 조기 ..

화이트박스 테스트 or 블랙박스 테스트

✅ 화이트박스 테스트 (White-box Testing)코드 안을 ‘들여다보고’ 테스트하는 방식개발자가 내부 구조를 알고 진행조건문, 반복문, 함수 호출 등을 모두 확인주요 기법:문장(Statement) 커버리지분기(Branch) 커버리지조건/경로 커버리지📌 예시:함수 안에 if문이 있다면, 그 조건이 참일 때/거짓일 때 모두 테스트하는 것 ✅ 화이트박스 테스트 예시 (White-box)1️⃣ if 조건문 테스트→ score = 95 (조건 true), score = 85 (조건 false) → 두 경로 모두 테스트2️⃣ 반복문 테스트→ i가 0, 1, 2일 때 실제로 모든 반복이 수행되는지 확인 ✅ 블랙박스 테스트 (Black-box Testing)내부 로직은 몰라도, 입력과 출력만 보고 테스트하는 ..

반응형