본문 바로가기

JAVA26

자바 객체 간의 상속(extend) 의미, 구현방법 안녕하세요, 스코리아입니다. 오늘은 자바 객체 간의 상속의 의미와 구현 방법을 예시와 함께 알아보겠습니다. 클래스 상속 (Class Inheritance) 의미 새로운 클래스를 정의할 때 이미 구현된 클래스를 상속받아서 속성이나 기능을 확장하여 클래스를 구현함 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속함 상속하는 클래스: 상위 클래스, parent class, base class, super class 상속받는 클래스: 하위 클래스, child class, derived class, sub class 상속 문법 (방법) class B extends A { } 상속을 구현하는 경우 상위 클래스는 하위 클래스보다 더 일반적인 개념, 기능을 가짐 하위 클래스는.. 2023. 8. 25.
자바 ArrayList 주요 메소드 정리, 사용방법 안녕하세요, 스코리아입니다. 이전 시간에는 1차원 배열과 2차원 배열 선언, 초기화 방법에 대해서 알아보았습니다. [이전 내용] 1차원 배열 선언, 초기화 방법: https://skorea6.tistory.com/14 [이전 내용] 2차원 배열 선언, 초기화 방법: https://skorea6.tistory.com/16 오늘은 자바 ArrayList 선언 방법과 주요 메소드를 사용하는 방법에 대해서 알아보겠습니다. ArrayList vs 기존 배열 기존의 배열 선언과 사용 방식은 배열의 길이를 정하고 요소의 개수가 배열의 길이보다 커지면 배열을 재할당하고 복사해야 했습니다. 즉, 배열의 요소를 추가하거나 삭제하면 다른 요소들의 이동에 따른 번거로운 구현이 필요했습니다. ArrayList는 배열의 크기(길.. 2023. 8. 23.
자바 2차원 배열 선언, 초기화 방법 (array) 안녕하세요 스코리아입니다. 이전 시간에는 자바 배열의 의미, 1차원 배열 선언/초기화 방법과 객체 배열 선언 방법에 대해서 알아보았습니다. [이전 내용] 1차원 배열 선언, 초기화 방법: https://skorea6.tistory.com/14 [이전 내용] 객체 배열 선언 방법: https://skorea6.tistory.com/15 오늘은 자바 2차원 배열을 선언하고 초기화하는 방법에 대해서 알아본 뒤, 이를 예제를 통해 확인해 보겠습니다 다차원 배열이란? 이차원 이상으로 구현된 배열 평면(이차원 배열)이나 공간(삼차원 배열)을 활용한 프로그램 구현 이차원 배열 선언 + 초기화 (1) int[][] arr = new int[2][3]; // 2행 3열 자료형 (int, float, double..)을 .. 2023. 8. 22.
자바 객체 배열 선언/구현하기 + 얕은복사, 깊은복사 방법 안녕하세요. 스코리아입니다. 이전 시간에는 자바 1차원 배열을 선언하는 방법과 초기화하는 방법에 대해서 알아보았습니다. [이전 내용] 1차원 배열 선언, 초기화 방법 : https://skorea6.tistory.com/14 오늘은 자바 객체 배열을 선언/구현해 보고, 얕은 복사와 깊은 복사 방법을 예제와 함께 알아보겠습니다. 객체 배열 특징 기본 자료형 배열은 선언과 동시에 배열의 크기만큼의 메모리가 할당됩니다. 하지만, 객체 배열의 경우에는 요소가 되는 객체의 주소가 들어갈 메모리(4byte, 8byte..)만 할당되고 각 요소 객체는 생성하여 저장해야 합니다. 객체 배열을 만들고 나면, 모든 index의 값은 null로 초기화됩니다. 객체 배열 선언, 구현하기 Book.java 파일을 만들어, Bo.. 2023. 8. 21.
[프로그래머스] 베스트앨범 문제 (Java Hash 풀이) 안녕하세요, 스코리아입니다. 오늘은 자바(Java)의 Hash(해시)를 이용한 프로그래머스 Lv.3 베스트앨범 문제를 풀어보겠습니다. 이 문제는 풀이 방식이 너무나도 다양하기 때문에, 풀이의 효율을 따지기가 조금 애매한 부분이 있습니다. 감안하고 봐주시기 바랍니다. 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 노래를 수록하는 기준을 고려하여, 노래가 들어간 순서대로 고유 번호를 출력하는 문제입니다. genres = 장르, play.. 2023. 8. 20.
자바 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.