프로그래밍 언어/Java 4

[JUnit5] test code에서 Array 비교(assertarrayEquals vs assertEquals vs assertTrue)

JUnit을 이용하여 test code를 짤 때 assertTrue와 assertEquals를 이용해서 원하는 값이 나오는지 테스트를 하곤 합니다. Array를 비교할 때는 어떤 method를 쓰는 것이 좋은지에 대해 비교해보려고 합니다. assertTrue, assertArrayEquals, assertEquals 3개를 비교하려고 합니다. 저의 주관적인 생각이 들어가기에 원하는 상황에 원하는 method를 알아서 사용하면 됩니다. 코드는 다음과 같습니다. public class ArrayTest { @Test public void compareArrayTest() { List list1 = Arrays.asList("a", "b", "c", "d", "e", "f"); List list2 = Arra..

[Java] modifier(제어자)란?

Java를 사용하다 보면 메소드나 변수 심지어 클래스 앞에 public, private, final, abstract등을 볼 수 있습니다. 이러한 것을 modifier(제어자)라고 합니다. 오늘은 제어자에 대해서 이야기 해보려고 합니다. Modifier란? 제어자는 클래스, 변수 또는 메서드에 함께 사용되어 부가적인 의미를 부여합니다. 제어자의 종류로는 크게 접근 제어자와 그 외 제어자로 나눌 수 있습니다. 접근 제어자: public, protected, default, private 그 외 제어자: static, final, abstract 등 주로 제어자는 클래스나 멤버변수, 메서드에 사용되고 하나의 대상에 여러 제어자를 조합하여 사용이 가능합니다. 그러나 접근 제어자는 접근에 관련된 제어이기에 하나..

[JAVA] Java란? (JVM 아키텍처 (2))

저번 글에서 JVM 아키텍처에서 어떻게 class가 memory에 loading이되고 JVM memory 영역은 어떻게 이루어져 있는지에 대해 알아보았습니다. 오늘은 JVM에서 bytecode를 어떻게 실행시키는지에 대해 알아보겠습니다. 이전 글을 읽어야 이해가 조금 더 잘됩니다. 2022.05.11 - [웹/Java] - [JAVA] Java란? (JVM 아키텍처 (1)) [JAVA] Java란? (JVM 아키텍처 (1)) 요새 Spring boot를 이용하여 백엔드 개발을 하면서 프레임 워크와 마찬가지로 바탕이 되는 언어에 대해 공부하고 기록하려 합니다. 틀린 내용이 있으면 언제든 댓글로 지적해주세요!! JAVA란? Jav hanrabong.com JVM Architecture 3. Execution..

[JAVA] Java란? (JVM 아키텍처 (1))

요새 Spring boot를 이용하여 백엔드 개발을 하면서 프레임 워크와 마찬가지로 바탕이 되는 언어에 대해 공부하고 기록하려 합니다. 틀린 내용이 있으면 언제든 댓글로 지적해주세요!! JAVA란? Java는 1995년 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체 지향적 프로그램 언어입니다. 많은 개발자들이 사용하고 개인적으로 국내에서 백엔드 개발자를 하기 위해서 거의 필수적으로 알아야 하는 언어라고 생각합니다. Java 언어의 특징이라고 하면 객체지향 언어, 운영체제에 독립적, 자동으로 메모리 관리 등 여러가지가 있습니다. 이번 글에서는 Java가 동작하는 JVM에 대해서 얘기해보려고 합니다. Java Environments 대부분 언어들은 프로그램 개발, 컴파일 등 실행이 되기 ..