자바 5

[컴퓨터구조] 자바는 컴파일 언어일까 인터프리터 언어일까?

프로그래밍 언어는 컴파일 언어와 인터프리터 언어로 분류할 수 있습니다.현재 백엔드 개발을 위해 사용하고 있는 자바는 둘 중 어디에 해당하는지 궁금해졌습니다.이 글에서는 컴파일 언어와 인터프리터 언어의 차이를 살펴보고, 자바를 이 관점에서 어떻게 이해할 수 있는지 정리해보았습니다.01 프로그래밍 언어의 분류1. 컴파일 언어란?컴파일 언어는 소스 코드를 기계어로 변환하는 컴파일러를 사용하여 프로그램을 실행합니다.컴파일 언어의 특징은 다음과 같습니다.컴파일 과정: 전체 소스 코드를 한 번에 번역하여 실행 가능한 파일을 생성합니다.빠른 실행 속도: 기계어로 변환된 실행 파일을 사용하기 때문에 실행 속도가 빠릅니다.플랫폼 의존성: 컴파일된 파일은 특정 운영 체제와 하드웨어에서만 실행됩니다.대표적인 컴파일 언어로는..

[Spring] 스프링 의존성 주입 Dependency Injection 총정리

의존성 주입이란? 프로그램 디자인이 결합도를 느슨하게 되도록하고 의존관계 역전 원칙과 단일 책임 원칙을 따르도록 클라이언트의 생성에 대한 의존성을 클라이언트의 행위로부터 분리하는 것- 위키 백과 즉, 다른 클래스의 기능을 사용하기 위해 생성자를 직접 호출하는 대신컨테이너를 통해 연관 관계를 규정하여 결합을 약하게 하는 것!클래스들 간의 연관 관계를 갖지 않도록, 서로가 영향을 주지 않도록 하는 것이다. 만약 의존성 주입을 하지 않은 코드의 경우에는클래스끼리 서로 연관관계가 있어 하나의 클래스를 수정했을 때그와 연관이 있는 다른 클래스에서도 수정이 일어나야 한다. 이러한 문제를 해결하기 위해서는 인터페이스를 적용하여각 클래스를 구현하고 객체를 사용할 때 인터페이스로 타입을 선언할 수 있지만여전히 일부 클래..

BackEnd/Spring 2024.10.11

[백준/Java] 2933번 미네랄

1. 문제 이 문제는 그래프 탐색을 기반으로 한 구현문제이다.동굴의 미네랄을 파괴하며 클러스터가 분리되면새롭게 생성된 클러스터를 아래로 떨어뜨리는 문제이다. 2. 풀이 문제를 이해하기 위해서 해야 하는 일을 순서대로 정리해보았다. 1. 동굴 입력 받기2. 높이와 막대 던지는 방향 확인해서 미네랄 파괴하기3. 파괴된 미네랄 주변 클러스터 분리 여부 확인하기4. 분리된 클러스터를 아래로 떨어뜨리기5. 2 ~ 4번 반복하기6. 최종 미네랄 모양 출력하기 1. 동굴 입력 받기동굴을 char[][] 배열로 입력 받는다.'x'는 미네랄이고 '.'은  빈 공간이다. 2. 높이와 막대 던지는 방향 확인해서 미네랄 파괴하기가장 아래가 1층이므로 높이 h가 주어졌을 때 r - h로 해당 층 좌표를 구할 수 있다.던지는 방..

[Java / 백준] 1000번 A+B, Scanner로 입력 받기, 파이썬과 자바의 입력 비교하기

쏘 심플한 오늘의 문제..파이썬으로 첫 문제를 풀었던 이 문제로 자바 알고리즘을 시작했다.입력 받기부터 어려워서 개념을 정리해보기로! 풀이Scanner를 사용해서 두 수를 받아주고두 수를 더한 값을 출력하면 된다. 코드import java.util.*;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a, b; a = sc.nextInt(); b = sc.nextInt(); System.out.println(a+b); }} 자바 Scanner자바의 스캐너는 java.util패키지 안에서 찾을 수 있는 클래스로메서드를 사용해서 Boolean, ..

BackEnd/Java 2024.07.09

[Java] 파이썬 => 자바, 자바 알고리즘 풀이 시작

그동안 백준을 풀 때 파이썬만 사용해오다가처음으로 자바를 사용해서 문제를 풀기 시작했다.가장 기본 문제(?)인 1000번 A+B 문제이다.파이썬으로 풀 때는 코드길이와 시간이 상대적으로 짧은 반면에자바로 풀었을 때는 코드길이와 시간이 현저히 높음을 확인할 수 있다.물론 메모리에 있어서는 자바가 승리..!하지만 그동안 메모리가 부족해서 못 푼 문제 보다는 시간의 문제로해결하지 못한 문제들이 더 많았어서... 이번에 자바로 문제를 풀기 시작한 이유는 크게 두 가지다.1. 싸피에서 자바반에 입과했기 때문!2. 언젠가 코딩테스트에서 파이썬이 금지되는 경우가 있을까봐 그렇지만 벌써부터 쉽지 않다...기본 문제를 풀려고 해도 몇 개의 메서드를 import 해야하는 건지... 나와 같은 시행착오를 겪을 사람들을 위해..

BackEnd/Java 2024.07.09