반응형

전체 글 99

Maven 과 Gradle의 차이

혹시 다들 인텔리제이에서새로운 프로젝트를 생성하실 때, 이렇게 3가지로 분류되어 있는 것을 보신 적이 있으실까요? 저는 여태까지 그 차이점도 모르고, 이것이 왜 나누어져 있는지도 모르고, 의미하는게 무엇인지도 모르고, 그냥 IntelliJ로만 해왔습니다. 그러다가 어제 새로운 프로젝트를 생성함에 있어서 제대로 공부를 하기 위해서 한번 찾아보고 이렇게 글을 작성하게 되었습니다.그러면 각각이 무엇을 의미하는지, 그리고 특징들에 대해선 무엇이 있는지 알아보도록 하겠습니다. IntelliJ IDEA란?JetBrains에서 만든 IDE로 개발 퍼포먼스 향상에 최적화된 tool입니다.IntelliJ IDEA의 장점?통합 개발 환경(IDE) : IntelliJ IDEA는 Java를 비롯한 여러 프로그래밍 언어를 지원..

Java Study 2024.06.17

[자바]Programmers - 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기

이번에 풀게 된 문제는 "프로그래머스"라는 사이트에서 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기 문제입니다.Lv. 1에 정답률은 38% 저에게는 개인적으로 조금 어려운 정도에 속하는 걸로 느껴졌습니다.(아직 갈 길이 멀겠군요..ㅜㅡㅜ)그러면 제가 풀었던 문제에 대해 설명부터 하며 글 시작해보겠습니다. 문제 설명신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다.각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다.신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다.한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다.k번 이..

알고리즘 2024.06.17

HashSet이란?

이번 글에서는 제가 백준과 프로그래머스에서 알고리즘을 풀며 자주 나오는 HashSet에 대해서 알려드리는 글을 써보려고 합니다.이 자료구조는 많은 코딩테스트에도 등장하기도 하니, 많은 분들도 학습하셔서 완벽히 자기 자신의 것으로 만들어가는 시간 가지셨으면 좋겠습니다. HashSet이란?Java에서 제공하는 데이터 구조 중 하나로, 중복된 요소를 허용하지 않고 순서를 보장하지 않는 컬렉션.HashSet의 장점?중복 요소 제거 : HashSet은 내부적으로 해시 테이블을 사용하여 요소들을 저장하여, 동일한 요소를 중복해서 추가할 수 없음. 이미 존재하는 요소를 추가하거나 삽입하는 경우 무시됨.빠른 검색 속도 : HashSet은 해시 테이블 기반으로 하여 평균적으로O(1)의 시간복잡도로 요소에 접그할 수 있음..

자료구조 2024.06.17

HashMap이란?

이번 글에서는 제가 백준과 프로그래머스에서 알고리즘을 풀며 자주 나오는 HashMap에 대해서 알려드리는 글을 써보려고 합니다.이 자료구조는 많은 코딩테스트에도 등장하기도 하니, 많은 분들도 학습하셔서 완벽히 자기 자신의 것으로 만들어가는 시간 가지셨으면 좋겠습니다. HashMap이란?Java에서 제공하는 데이터 구조 중 하나로, Key - Value 쌍을 저장하는 자료구조.주로 검색, 삽입, 삭제, 업데이트 연산을 빠르게 수행할 수 있음.HashMap의 장점?Key - Value 구조 : 각 요소는 Key와 Value로 구성되어 있음. 또한, Key는 중복될 수 없고, Value는 중복될 수 있음.빠른 검색 속도 : HashMap은 해시함수를 사용하여 요소를 저장하고 검색하기 때문에, 평균적으로 O(1..

자료구조 2024.06.17

Java 연산자

이전 글에서 각각의 데이터 종류와 메모리 크기 등을 알아보았었습니다.그러면 원하는 변수에 값을 할당하고 목표에 맞는 연산을 하기 위해서 쓰이는 다양한 연산자에 대해서 알아보도록 하겠습니다. 부호 연산자부호 연산자는 변수의 부호를 유지하거나 변경한다.연산식설명+피연산자피연산자의 부호 유지-피연산자피연산자의 부호 변경 증감 연산자증감 연산자는 변수의 값을 1 증가시키거나 1 감소시킨다.연산식설명++피연산자피연산자의 값을 1 증가시킴--피연산자피연산자의 값을 1 감소시킴피연산자++다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴피연산자--다른 연산을 수행한 후에 피연산자의 값을 1 감소시킴 산술연산자더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%)로 총 5개연산식설명피연산자+피연산자덧셈 ..

Java Study 2024.06.17

JVM(Java Virtual Machine)의 실행 과정

지난 글에 이어서 오늘도 JVM에 대해서 글을 작성해보도록 하겠습니다.지난번에는 JVM이 무엇인지와 그 안의 구조에 대해서 알아보았고, 또한 그 나누어진 구조에서 무엇을 진행할 수 있는지 알아보았습니다.그렇다면 이제 밥을 먹기 위해 숟가락이랑 젓가락이 뭔지 파악한 것이니, 어떻게 하면 밥을 먹는지, 그 JVM의 실행 과정에 대해서 알아보겠습니다. JVM 실행 과정?로드(Loading):클래스 로더가 클래스 파일을 읽어들이고, 해당 클래스의 바이너리 데이터를 메모리에 로드합니다.로드된 클래스들은 Method Area에 배치됩니다.검증(Verification):클래스 파일의 유효성을 검사합니다. 예를 들어, 올바른 바이트 코드 구조와 메모리 접근 권한 등을 확인합니다.준비(Preparation):클래스가 필..

Java Study 2024.06.16

JVM(Java Virtual Machine)의 구조

이번 글에서는 JVM(Java Virtual Machine)이 무엇인지, 그리고 그 구조에 대해서 알아보도록 하겠습니다. JVM(Java Virtual Machine)이란?자바 프로그램이 실행되는 환경을 제공하는 소프트웨어입니다.이것은 은 자바 프로그램이 특정 운영 체제에 종속되지 않고 여러 플랫폼에서 동작할 수 있도록 설계되었습니다.자바 소스 코드는 JVM이 이해할 수 있는 바이트 코드로 컴파일되며, JVM은 이 바이트 코드를 해당 플랫폼에 맞게 해석하여 실행합니다. 이로써 자바 프로그램은 한 번 작성하면 여러 운영 체제와 하드웨어에서 실행될 수 있게 됩니다.JVM(Java Virtual Machine)의 구조는?1. Class Loader Subsystem (클래스 로더 서브시스템)역할: 클래스 파일..

Java Study 2024.06.16

자바 타입 변환

이전 글에서 다양한 종류의 타입들을 알아 보았고, 그 타입들의 메모리 크기나 저장되는 값의 허용 범위 등 세부 내용에 대해 살펴보았었습니다. 그리하여 이번 글에서는 그 타입들 간의 변환이 이루어 지는 것에 대해 알아보겠습니다. 자동 타입 변환?데이터 타입을 다른 타입으로 변환하는 것이다.값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 대입될 때 발생된다.byte 정수 타입이 실수 타입으로 대입되면 무조건 자동 타입 변환이 된다.예외 : char 타입보다 허용 범위가 작은 byte타입은 char 타입으로 자동 변환될 수 없다.(데이터의 의미를 왜곡 혹은 손실하기 때문)강제 타입 변환?큰 허용 범위 타입을 작은 허용 범위 타입으로 쪼개어서 저장하는 것이다.캐스팅 연산자로 괄호()를 사용하며, 괄호 안..

Java Study 2024.06.16

Java 변수와 타입

이전 글에서 간단하게 프로그래밍의 3대 요소에 대해서 알아보았습니다. 그 과정에서 아래 표와 같이 기본자료형의 종류에 대해서 알아보았습니다. 그래서 오늘은 조금 더 세부내용으로 들어가 자세하게 알아보도록 하겠습니다.Data Type크기데이터(종류)Dafault Value(for fields)byte1byte정수0short2byte정수0int4byte정수0long8byte정수0Lfloat4byte실수0.0fdouble8byte실수0.0dchar2byte문자nullboolean1byte참, 거짓(True, False)false 변수(Variable)란?변수란 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름이다.자바의 변수는 다양한 타입(정수형, 실수형 등)의 값을 저장할 수 없다.변수 선언?변수를 사..

Java Study 2024.06.16

자바 프로그래밍의 3대 요소

프로그래밍의 3대 요소라고 불리는 변수(Variable), 자료형(Datatype), 할당(Assign)이 무엇인지 이해하고 서로의 관계를 파악하는 것 또한 매우 중요하다고 생각하기에 정리해보려고 합니다. 변수(Variable)데이터를 저장하는 메모리 공간의 이름(symbol)자료형(Datatype)변수의 크기와 어떤 종류의 데이터를 저장할 것인지를 결정하는 것할당(Assign)변수에 데이터를 저장하는 것변수에 지정된 데이터 타입에 맞게 데이터를 저장(대입)하는 행위 그렇다면 이 3가지를 어떻게 활용하고 종류는 무엇이 존재하는지 등 세부 내용에 대해서 알아보도록 하겠습니다. 변수의 이름을 짓는 방법?변수의 이름은 숫자로 시작할 수 없다.대소문자가 구분되며 길이에 제한이 없다.$과 _(underscore)..

Java Study 2024.06.16
반응형