목록Java (2)
신비한 개발사전

자바 빌드 파일에 JUnit Jupiter와 JUnit Platform 의존성을 잘못 추가하면 생길 수 있는 문제와, 그런 문제를 해결한 과정을 통해 알게 된 것들을 정리해보려고 한다. 버전 불일치클론해온 모 프로젝트의 테스트 코드를 실행하자 콘솔창이 빨간 텍스트로 채워지면서 테스트가 시작도 못해보고 강제 종료되었다. 테스트 자체를 실행할 수 없는 문제는 지금까지 한 번도 겪어보지 못했는데, 심지어 콘솔창에 남는 오류 관련 정보가 없어서 따로 생성된 Test Summary 리포트 파일에 직접 들어가서 이슈를 파악해야 했다. Stack trace에는 아래와 같은 내용이 있었다.The following conflicting versions were detected:- org.junit.jupiter.api:..
초반에 개발을 배우기 시작했을 땐 객체지향 프로그래밍은 곧 SOLID 원칙을 따르는 프로그래밍인줄로만 알고 있었는데 Java 공부를 하면서 SOLID 이전에 기본적으로 4가지의 특징이 따로 있다는 걸 알게 됐다. 캡슐화 (Encapsulation)캡슐화는 객체의 속성과 메소드를 하나로 묶고 외부에서의 직접적인 접근을 제한하는 것이다. 따라서 데이터를 보호하고 객체의 상태를 관리하는 방법을 제공한다. 이를 통해 데이터의 무결성을 유지하고 원치 않는 외부 영향을 막을 수 있다. 자바에서는 아래와 같은 접근 제어자(access modifier)를 사용해 캡슐화를 구현할 수 있다:private: 클래스 내부에서만 접근 가능public: 모든 클래스에서 접근 가능protected: 같은 패키지나 상속받은 클래스에..