본문 바로가기

전체 글20

Mock 이란? 안녕하세요 이번에는 [Mock]에 대해 알아보겠습니다. Mock이란 ? 실제 객체를 만들기엔 비용과 시간이 많이 들거나 의존성이 길게 걸쳐져 있어 제대로 구현하기 어려울 경우, 가짜 객체를 만들어 사용하는데 이것을 Mock이라 합니다. Mock 객체는 언제 필요한가? 테스트 작성을 위한 환경 구축이 어려운 경우 환경 구축을 위한 작업 시간이 많이 필요할 때 Mock객체를 사용합니다. (데이터베이스, 웹서버, FTP서버 등) 아직 개발되지 않은 모듈을 사용하는 테스트가 필요할 때 사용합니다. 테스트가 특정 경우나 순간에 의존적인 경우 테스트 시간이 오래 걸리는 경우 Mock에 대한 기본적인 분류 1. 테스트 더블 테스트를 진행하기 어려운 경우 이를 대신해 테스트를 진행할 수 있도록 만들어주는 객체를 말합니.. 2020. 12. 29.
JVM 구조와 JAVA 메모리 구조 JVM 구조와 JAVA 메모리 구조 안녕하세요. 이번에는 [JVM 구조와 JAVA 메모리 구조]에 대해 알아보겠습니다. JVM의 구성은 크게 4가지로 나뉩니다. 각각의 특징을 살펴보겠습니다. 1. Class Loader Class Loader는 런타임에 컴파일된 클래스 파일들을 JVM의 Runtime Data Area에 적재합니다. 2. Execution Engine Runtime Data Area에 있는 자바 바이트 코드를 기계어로 변경해 명령어 단위로 실행합니다. 명령어를 한 줄씩 읽어서 실행하는 인터프리터 방식과 바이트 코드 전체를 읽고 실행하는 JIT 컴파일러가 있습니다. 3. Garbage Collector JVM은 Garbage Collecotr를 통해 메모리 관리 기능을 자동으로 수행합니다... 2020. 12. 28.
객체지향 SOLID 원칙 1. SRP - 단일 책임 원칙 작성된 클래스는 하나의 기능만 가지며 클래스가 제공하는 모든 서비스는 그 하나의 책임을 수행하는데 집중되어 있어야 한다는 원칙입니다. 클래스의 책임이 여러 개이면 관계가 복잡해지고 응집도가 낮아져서 유지 보수하기 어려운 코드가 됩니다. 2. OCP - 개방 폐쇄 원칙 개방 폐쇄 원칙이란 기존 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계해야 한다는 뜻입니다. 확장에는 열려(Open)있고 변경에는 닫혀(Closed)있는 구조입니다. 예제를 통해 OCP에 대해 자세히 알아보겠습니다. public class Computer { private AKeyboard aKeyboard = new AKeyboard(); public void boot() { System.out.p.. 2020. 12. 27.
상속 1. 자바 상속의 특징 단일 상속만 가능합니다. 여러 조상들 중에서 이름이 같은 함수가 있을 경우, 문제가 될 수 있습니다. 그러나 다중 상속의 장점도 많기 때문에, 자바는 interface 다중 구현을 제공합니다. 생성자는 상속되지 않습니다. 2. super 키워드 상위 객체(super)의 reference를 가지고 있습니다. 여기서 상위 객체란 부모 객체를 가리키고, 자식 객체에서 super키워드를 통해 부모 객체에 접근을 할 수 있다는 뜻입니다. public class Parent { int age; String name; Parent(){} Parent(int age, String name) { this.age = age; this.name = name; } protected String getN.. 2020. 12. 25.