TDD 시나리오 OOP 적용 예시
·
SW 방법론
시리즈2025.03.06 - [SW 방법론] - 테스트 주도 개발(TDD: Test Driven Development)2025.03.13 - [SW 방법론] - TDD 시나리오 OOP 적용 예시1. 테스트 시나리오TDD 기반으로 진행하는 동물 추상화 문제를 어떻게 풀어갈지 순차적으로 정리해 보겠습니다.TDD의 red, green, refactor 방식으로 나누어 순차적으로 진행됩니다.또한, OOP의 4가지 특징(추상화, 다형성, 상속, 캡슐화)을 적용하여 코드를 구체화할 것입니다.1️⃣ 동물 추상화 정의 (Animal 추상 클래스)Red:추상 Animal 클래스와 각 동물 객체의 move 메소드를 정의할 테스트 케이스 작성.동물마다 다른 동작할 수 있도록 다형성 구현빨간 물결줄이 객체와 메소드에 표시 된..
자바의 특징
·
Java
1. 플랫폼 독립성바이트코드 형태로 변환된 후 JVM(Java Virtual Machine)에서 실행되므로, OS와 상관 없이 동작할 수 있다.바이트코드는 xxx.java 파일을 컴파일한 xxx.class 형태의 클래스 파일이다. 이게 왜 특징이냐?라고 생각이 들텐데?! 자바 이전의 언어 소스들은 각 언어 체계에 따라 컴파일러가 있고 컴파일러를 통해 어셈블리어로 변환 한다.변환된 어셈블리어를 기계가 읽을 수 있게 어셈블러를 통해 기계어로 변환하여 하드웨어가 읽은 수 있게된다. 여기서 기존의 소스 코드 공유 방식에서 자바와 차이가 나타난다. 하드웨어, 제조사마다 기계어의 설계가 다르다는 것이다.예를 들어, A라는 장비에 B 운영체제에서 C언어로 개발한 소스(C)가 있다.이 소스를 A'라는 장비에 B' 운영..
클래스 초기화 순서
·
Java
문득, JVM구조를 공부하다가 초기화 순서가 정확히 어떻게 진행 될까? 생각해본적이 있다.언제 초기화 되는걸까?인스턴스를 생성할 때(new 객체 생성)클래스의 정적 메소드를 호출할 때 클래스가 초기화됨클래스의 정적 변수 값이 할당되거나 사용될 때초기화 순서는?정적 변수 초기화필드가 선언된 순서대로 초기화정적 블록 실행static {}간혹 정적 블록이 먼저 실행될 수도 있음인스턴스 변수 초기화인스턴스 변수가 선언된 순서대로 초기화됨인스턴스 블록 초기화{}생성자 실행예제class Example { static int staticVar = initializeStaticVar(); static { System.out.println("정적 블록 실행"); } int instanc..
웹 응답값 유지가 되는 방법
·
웹(WEB)
1. 상황리액트를 사용중이며 API로 응답값을 받은 이후, API 서버가 죽은 상태에서도 값이 그대로 남아 있는 현상2. 원인1. React 상태(state)에 데이터가 남아 있음API 호출 후 응답 데이터를 useState로 저장하면, API 서버가 죽어도 상태값이 유지되므로 화면에는 기존 데이터가 계속 표시됨.해결 방법: API 호출 실패 시 상태를 초기화하거나, 화면에서 데이터를 숨기는 로직 추가.const [data, setData] = useState(null); useEffect(() => { axios.get('/api/data') .then(res => setData(res.data)) .catch(() => setData(null)); // 에러 발생 시 상태 초기화..
덱(Deque) 보다 큐(Queue)와 스택(Stack)이 더 좋은 경우?
·
Java/자료구조
시리즈2025.03.11 - [Java/자료구조] - 스택? 큐?2025.03.11 - [Java/자료구조] - Deque?2025.03.11 - [Java/자료구조] - 덱(Deque) 보다 큐(Queue)와 스택(Stack)이 더 좋은 경우?자바 기반 설명이며 개념에 관한 내용을 다룹니다.📌 핵심내용