본문 바로가기

자바29

자바 1차원 배열 선언, 초기화 방법 (array) 안녕하세요, 스코리아입니다. 오늘은 자바에서 1차원 배열을 선언하고 초기화하는 방법에 대해서 알아본 뒤, 이를 예제를 통해 사용해 보겠습니다. 배열 (array)란? 동일한 자료형의 순차적 자료 구조 연관된 데이터를 모아서 관리하기 위한 데이터 타입 변수 vs 배열? : 변수는 한 개의 데이터를 저장한다면, 배열은 여러 개의 데이터를 저장합니다. 배열의 특징 인덱스 연산자 []를 이용하여 빠른 참조가 가능 배열의 인덱스(index)는 0부터 시작 물리적 위치와 논리적 위치가 동일 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함 배열 선언 + 초기화 (1) int[] arr1 = new int[10]; // 방법1 int arr2[] = new int[10]; // 방법2 배열은 위와 같은 .. 2023. 8. 19.
자바 싱글톤 패턴 의미, static 활용한 구현 (singleton pattern) 안녕하세요, 스코리아입니다. 오늘은 자바 static을 활용하여 싱글톤 패턴을 구현해 보겠습니다. 싱글톤 패턴은 자바 스프링의 핵심 기능 중 하나로도 등장하는데요, 싱글톤 패턴은 자바의 다양한 프레임워크에서 사용되고 있는 매우 중요한 개념입니다. 싱글톤 패턴 (singleton pattern)이란? 프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴 예를 들면 DB 커넥션의 경우 http 호출이 올 때마다 1개씩 생성되는 것은 비효율적이므로, 커넥션이 단 한 개만 생성된 상태로 해당 인스턴스를 공유해야 합니다. 싱글톤 패턴은 static 변수, 메소드를 활용하여 구현할 수 있습니다. 싱글톤 패턴 구현해 보기 School.java 파일을 만들고, 딱 1개의 인스턴스만 생성될 수 .. 2023. 8. 18.
자바 static 변수 뜻, 의미, 사용방법 그리고 유효범위 안녕하세요, 스코리아입니다. 오늘은 자바 static 변수의 의미와 선언/구현 방법에 대해서 알아보고 어떠한 주의사항이 있는지 알아보겠습니다. static 변수란? 여러 인스턴스에서 공통으로 사용하는 변수를 선언할 때 static 변수를 사용합니다. 즉, 모든 인스턴스가 static 변수를 공유하는 형태로 작동합니다. [예] 그러면 공통으로 사용하는 변수가 필요한 경우는 언제일까요? 여러 인스턴스가 공유하는 기준값이 필요한 경우 학생마다 새로운 학번을 생성해야 하는 경우 회사에 신입사원이 입사할 때 새로운 사번이 필요한 경우 카드 회사에서 카드를 새로 발급할 때마다 새로운 카드 번호를 발급해야 하는 경우 static 변수 선언, 사용방법 public class Student { static int ser.. 2023. 8. 17.
자바 this / this() 뜻, 의미, 사용방법에 대해서 안녕하세요, 스코리아입니다. 오늘은 자바의 this, this()의 차이점과 의미(뜻)를 알아보고, 어떻게 사용하는지 사용 방법을 예제와 함께 알아보겠습니다. this 의미(뜻)? this를 단어의 어원적인 측면으로 본다면, '이것'이라고 해석합니다. 자바에서는 '인스턴스 자신의 메모리'를 가리키는 키워드입니다. 아래 그림과 같이 생성된 인스턴스의 메모리 주소를 가집니다. 클래스 내에서 참조 변수가 가지는 주소값과 동일한 주소값을 가지는 키워드입니다. this와 this()의 차이점과 사용방법 this는 this.매개변수 형태로 사용이 가능합니다. 매개변수와 객체 자신이 가지고 있는 변수의 이름이 같은 경우 이를 구분하기 위해 this를 붙입니다. 예를 들어 아래 코드를 보면 this.month = mo.. 2023. 8. 15.
자바 접근 제어 지시자와 정보은닉을 활용한 캡슐화 (객체지향) 안녕하세요. 스코리아입니다. 오늘은 자바의 접근 제어 지시자와 정보은닉을 활용한 캡슐화에 대해서 알아보겠습니다. 자바의 객체지향에서 매우 중요한 부분 중 하나가 바로 '정보은닉'입니다. 접근 제어 지시자 (Access Modifier) 클래스 외부에서 클래스의 멤버 변수, 메소드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 이 키워드는 멤버 변수, 메소드, 생성자의 타입값 (void, int, float..) 앞에 옴. 예를 들면 public int month; public : 클래스의 외부 어디에서나 접근 가능 private: 같은 클래스 내부에서만 접근 가능 (외부 클래스, 상속 관계의 클래스 접근 불가) protected: 같은 패키지나 상속 관계의 클래스에서 접근 가능 (그 외 외부에서는 .. 2023. 8. 14.
[프로그래머스] 다리를 지나는 트럭 문제 (Java Queue 풀이) 안녕하세요, 스코리아입니다. 오늘은 자바(Java)의 Queue를 이용한 프로그래머스 Lv.2 다리를 지나는 트럭 문제를 풀어보겠습니다. 문제가 Queue를 사용하기에 너무 적합하고 깔끔한 문제라 가져와 보았습니다. 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 트럭은 한 번에 1만큼의 거리를 이동할 수 있습니다. 즉, 트럭 한 대가 길이 bridge_length의 다리를 건너기 위해서는 bridge_length만큼의 시간이 필요합.. 2023. 8. 13.
자바 참조 자료형 변수 정의하기, 사용 방법 (feat. 객체) 안녕하세요. 스코리아입니다. 오늘은 자바 참조 자료형 변수를 정의하여 사용하는 방법에 대해서 알아보겠습니다. 그전에 자바의 기본형 타입과 참조형 타입의 차이를 알고 계시나요? 모르고 계신다면 이 포스팅을 읽기 전에, 제가 이전에 작성했던 내용을 꼭 참고해 보시기 바랍니다! [이전 내용] 자바 기본형 타입 vs 참조형 타입 차이점 정리 https://skorea6.tistory.com/8 참조 자료형 변수의 자료형은 두 가지로 나뉩니다. 기본 자료형(기본형 타입)에는 int, long, float, double 등이 존재하고 참조 자료형(참조형 타입)에는 기본형을 제외한 모든 것이 해당됩니다. 예를 들면 String, Date, Student(객체) 등이 존재합니다. 참조 자료형은 클래스 형으로 변수를 선.. 2023. 8. 12.
자바 기본형 타입 vs 참조형 타입 차이점 정리 안녕하세요. 스코리아입니다. 오늘은 자바 기본형 타입과 참조형 타입이 어떻게 다른지, 차이점에 대해서 정리해 보겠습니다. 자바를 공부하면서 참조형 타입은 꼭 알아야 할 주제 중 하나라고 생각합니다. 자바의 클래스, 인터페이스, 객체는 배우고 써왔는데, 참조형 타입과 기본형 타입의 차이를 모르고 있으면 안 됩니다:) 각각의 특징을 이해하고 정리해 보는 시간을 가져보겠습니다! 기본형 타입 vs 참조형 타입 기본형 타입 (Primitive Type) 기본형 타입에는 크게 정수형(byte, short, int, long), 실수형(float, double), 문자형(char), 논리형(boolean) 이 존재합니다. 객체 타입이 아니므로, null 값을 가질 수 없습니다. (다만, 기본값은 존재) 모든 값 타입.. 2023. 8. 11.
자바 생성자 의미와 구현, 그리고 생성자 오버로딩 뜻? 안녕하세요. 스코리아입니다. 오늘은 자바의 생성자 의미를 파악하고 구현해 본 뒤, 생성자 오버로딩이 무엇인지 알아보겠습니다. 생성자 (constructor)란? 생성자 의미: 인스턴스가 생성될때 호출되는 인스턴스 초기화 메소드 생성자 용도: 객체가 생성될 때 변수나 상수를 초기화하거나 다른 초기화 기능을 수행하는 메소드를 호출 생성자 호출 방법 : 객체를 생성할 때 new 키워드와 함께 사용 - 예를 들면 new Student() 생성자 기본 문법: ([]){[] 생성자를 만들 때 주의할 점 생성자는 반환 값이 없음 생성자는 클래스의 이름과 동일해야 함 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private로 선언해야 하는 경우도 있음 기본 생성자 (default constructor)란.. 2023. 8. 10.