Language/Javascript

[javscript] 자바스크립트 테스트코드, Jest 란?

저번 시간에는 TDD가 무엇인지, 장점이 뭔지, 사람들이 왜 쓰는지에 대해서 알아봤다. 나는 주로 Node.js나 Nest.js를 사용해서 백앤드 개발을 하는데 둘 다 자바스크립트 기반의 프레임워크이다. 이번 시간에는 자바스크립트에서 사용할 수 있는 테스트 툴인 Jest에 대해서 공부해보려고 한다. Jest 란? 제스트(Jest)는 페이스북에서 만든 자바스크립트 테스팅 라이브러리이다. 말 그래도 내가 작성한 코드가 제대로 동작하는지 테스트할 때 사용한다. 여러 가지 상황들을 설정하고, 그 상황에 맞는 결과가 나오는지 자동으로 테스트해준다. Jest 설치 및 사용 방법 아래 명령어를 통해 jest와 babel-jest를 설치해준다. (babel은 JavaScript 엔진에서 실행할 수 있는 이전 버전과 호..

2021.08.13 게시됨

Language/Java & Kotlin

[자바/Java] 인터페이스(Interface) 란?

저번 시간에는 자바에서 다형성을 띄고 있는 것들 중 '오버 로딩'에 대해서 정리해보았다. 다시 한번 말하지만 자바는 OOP 즉, 객체 지향 언어이고 OOP의 큰 장점이자 OOP에서 가장 중요한 개념 중 하나로는 다형성(Polymorphism)이 있다. 이번 시간에는 자바의 다형성을 극대화해서 개발코드를 간결하고 효율적으로 만들고 유지보수를 쉽게 하게 해주는 인터페이스에 대해 알아보려고 한다. 인터페이스란? 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것이 바로 인터페이스의 역할이자 개념이다. 간단하게 얘기하면 구현된 것은 없지만 밑그림이 그려져 있는 '설계도'라고 생각하면 된다. 예시를 들어보자. 빵가게 사장이 다음날 까지 3명의 직원한테 내일 판매할 식빵을 만들라고 했다. 1번 직원은 쌀가루를 ..

2021.08.09 게시됨

Language/Java & Kotlin

[자바/Java] 오버로딩(Overloading) 이란?

자바는 OOP 즉, 객체 지향 언어이다. OOP의 큰 장점이자 OOP에서 가장 중요한 개념 중 하나로는 다형성(Polymorphism)이 있다. 다형성은 각 요소들이 여러 가지 자료형으로 표현될 수 있다는 것을 말한다. 이번에는 자바에서 다형성을 띄고 있는 것들 중 '오버 로딩'에 대해서 정리해보려고 한다. 오버 로딩이란? 오버 로딩은 한 클래스 내에 같은 이름의 메서드를 여러 개 정의해서 사용하는 것을 의미한다. 메서드 오버 로딩도 같은 말이다. 오버로드는 말 그대로 한 곳에 여러 개를 과적하다, 많이 싣다 라는 의미를 가지고 있는데 하나의 메서드로 여러 기능을 구현하기 때문에 붙여진 이름이다. 오버 로딩의 조건은 아래와 같다. 메서드 이름이 같아야 하고 매개변수의 개수 또는 타입이 달라야 한다. 오버..

2021.08.03 게시됨

Language/Java & Kotlin

[자바/Java] 생성자 란?

자바 프로그래밍을 할 때, 생성자에 대해 모르고 그냥 사용하는 경우가 많다. 하지만 깊이 있는 프로그래밍을 위해서는 생성자의 개념이 중요하다고 생각해서 정리하게 되었다. 먼저, 생성자란? 생성자는 간단하게 얘기하면 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메소드'이다. 따라서 인스턴스 변수의 초기화 작업에 사용되고, 인스턴스 생성 시에 실행되어야 할 작업을 위해서 사용된다. 생성자의 이름은 클래스의 이름과 같아야 한다. 생성자는 리턴 값이 없다. void 또한 사용하지 않는다. 생성자는 몇 가지 특징을 제외하면 메소드와 다르지 않다. 생성자는 메소드 처럼 클래스 내에 선언되고, 오버 로딩이 가능하므로 하나의 클래스에 여러 개의 생성자가 존재할 수 있다. 기본 생성자(Default construct..

2021.08.02 게시됨