Languages/Java 38

[JAVA]ArrayList의 동작 및 내부 구현

2022.11.30 - [JAVA] - [JAVA] 콜렉션이란? [JAVA] 콜렉션이란? JAVA의 컬렉션(collection>이란 데이터의 집합을 의미하며 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고과적으로 처리할 수 있는 표준화된방법을 제공하는 클래스의 집합을 의미한다 mooonstar.tistory.com 2023.01.07 - [JAVA] - [JAVA]LinkedList와 ArrayList [JAVA]LinkedList와 ArrayList LinkedList와 ArrayList 2022.11.30 - [JAVA] - [JAVA] 콜렉션이란? [JAVA] 콜렉션이란? JAVA의 컬렉션(collection>이란 데이터의 집합을 의미하며 컬렉션 프레임워크(colle..

Languages/Java 2023.01.13

[JAVA]equals()와 hashcode()는 무엇인가?

equals()와 hashcode()는 무엇인가? 위의 질문은 자바 프로그래머를 준비하는 사람들이라면 한 번씩 질문 받는 문제이지 않을까 싶다. 실제 위 질문은 기업의 기술 면접에서도 자주 등장한다고 한다. 그래서 이번 포스팅에서는 위의 질문에 대한 답을 찾아 볼까한다. equals()와 hashcode() 우리가 정의하고 사용하는 모든 객체는 equals()와 hashcode()를 반드시 상속받는다. 그 이유는 무엇일까? 그 이유는 equals()와 hashcode()는 모든 객체의 최상위 객체인 Object에 정의되어 있기 때문이다. 이제 각각의 메서드에 대해 자세히 알아보자. equals() //Object - equals public boolean equals(Object obj) { return..

Languages/Java 2023.01.12

[JAVA]로깅에 System.out.println()을 사용하지 않는 이유

System.out.println()을 사용하면 안되는 이유 JAVA 프로그래밍을 하다 보면 로깅을 하기 위해 사용하는 입출력 구문은 단연 System.out.println()일 것이다. 필자도 개발자가 되고, 실제 운영 중인 시스템에 대한 개발을 진행할 때 System.out.println() 정말 많이 사용하였고, 가장 많이 지적받는 이유 중 하나였습니다. 그래서 이번 포스팅에서는 왜 이 구문을 사용하지 말하야 하는지에 대해 정리해보도록 하겠습니다. 우선 로깅(logging)에 대해 알아보도록 하겠습니다. 로깅(logging)이란? 실제 운영하는 시스템에서 예상치 못한 문제가 발생하였을 때 개발자는 문제를 찾아야 합니다. 이러한 문제를 빠르게 해결하기 위해서는 날짜, 시간, 로직에 대한 정보가 필요합..

Languages/Java 2023.01.12

[JAVA]Iterator란?

Iterator란? 반복이라는 사전적인 의미가 있는 Iterator에 대하여 알아보도록 하겠습니다. JAVA에서 Iterator는 무엇을 반복하는 것일까? Java의 Iterator Iterator란 Java의 컬렉션(Collection)에 저장된 요소들을 순회하는 인터페이스입니다. Iterator의 이해를 위해서는 컬렉션(Collection)이 무엇인지 알아야 합니다. 아랫글을 우선 읽고 와주시면 감사하겠습니다! 2022.11.30 - [JAVA] - [JAVA] 콜렉션이란? [JAVA] 콜렉션이란? JAVA의 컬렉션(collection>이란 데이터의 집합을 의미하며 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고과적으로 처리할 수 있는 표준화된방법을 제공하는 클래스의 ..

Languages/Java 2023.01.09

[JAVA] 생성자(Constructor)

2022.12.15 - [JAVA] - [JAVA]클래스와 인스턴스 [JAVA]클래스와 인스턴스 ⚡️클래스 (class) 객체 지향이라는 프로그래밍 패러다임을 가진 JAVA에서는 객체(Object)를 중심으로 프로그래밍을 구성합니다. 객체(Object)의 동작이나 속성들을 구체화 시킨 것이 객체 지향 프로 mooonstar.tistory.com 생성자(Constructor) 지난 포스팅에서 클래스와 인스턴스에 대한 내용을 다루었습니다. 다음과 같은 코드를 사용하여 인스턴스를 생성하였습니다. 클래스 변수(객체) = new 클래스(); //클래스() --> 생성자 호출 위의 코드가 실행되고 인스턴스가 생성될 시에 반드시 실행되어야 하는 작업이 있다. 바로 인스턴스를 초기화해야 하는 일이다. 이 초기화의 역할..

Languages/Java 2023.01.05

[JAVA]Error & Exception

💥Error & Exception 실행되고 있는 프로그램이 비정상적인 종료가 된다거나 오작동을 하게 되면 심각한 문제를 야기하게 됩니다. 이러한 문제를 야기하는 원인에는 바로 Error와 Exception이 있습니다. 이번 포스팅은 Error(오류)와 Exception(예외)의 차이를 명확히 구분하고, 예외 처리(Exception Handling)에 대해 알아보도록 하겠습니다. 💥오류(Error) JAVA에서의 발생 Error는 크게 3가지로 구분된다. 컴파일 에러(Compile - Error) 런타임 에러(Runtiome - Error 논리적 에러(Logical - Error) 컴파일 에러는 실행되기 전 컴파일 단계에서 발생하는 문제이기 때문에 충분히 해결할 수 있고, 반면에 런타임 오류는 실행 도중 ..

Languages/Java 2022.12.28

[JAVA] 데이터의 기본타입, 참조타입

⚡️프로그램의 구성 개발자는 프로그램을 구성할 때 프로그램 내에서 사용될 데이터를 정의하고 정의된 데이터를 바탕으로 기능을 구현합니다. 데이터가 어떻게 정의되느냐에 따라 프로그램에 영향이 미치기 때문에 완성도 있는 프로그램을 개발하기 위해서는 적재적소에 맞는 데이터 타입의 사용은 개발자에게 꼭 필요한 조건입니다. 이번 포스팅에서는 JAVA에서 사용되는 데이터 타입에 대한 분류와 이해를 하도록 하겠습니다. ⚡️변수 (variable) 프로그래밍 중 수시로 변하는 값을 처리하기 위해 변수를 사용합니다. 변수를 사용하기 위해선 선언이라는 과정이 필요한데 선언을 하게 되면 메모리 상에 타입에 따른 메모리 공간이 확보됩니다. 확보되는 공간은 데이터의 타입에 따라 다르며 다음과 같습니다. 타입 크기 byte 1 b..

Languages/Java 2022.12.19

[JAVA]HashMap의 사용 방법 및 기본 메서드

HashMap은 Map 인터페이스를 구현하고 있는 클래스이자 key와 value의 쌍으로 이루어진 데이터를 보관합니다.또한 다음과 같은 특징을 지니고 있습니다. 또한 해쉬맵을 사용하면 저장은 느리지만 데이터를 검색하는데에 뛰어난 성능을 가지고 있습니다. 이번 포스팅에선 HashMap에 대한 기본적인 사용법과 자주 사용하는 메서드에 대해 알아보도록 하겠습니다. HashMap 생성하기 Map map1 = new HashMap(); //HashMap 생성 Map map2 = new HashMap(); //파라미터 생략 Map map3 = new HashMap(5); //초기용량 설정 자주 사용하는 메서드 알아보기 1. put(K, key, V value) //HashMap에 Key, Value를 삽입하는 메서..

Languages/Java 2022.11.29