본문 바로가기

Language

(77)
[Java] 다차원 배열 다차원 배열이란? 수학에서 평면을 나타내기 위해 x, y좌표를 쓰는 것처럼 프로그램에서도 평면을 구하기 위해 이차원 배열을 사용할 수 있다. 삼차원 이상의 배열도 가능한데, 삼차원 배열은 주로 공간을 나타내는 프로그램에서 활용한다. 이차원 이상으로 구현한 배열을 ‘다차원 배열’이라 한다. 다차원 배열은 평면이나 공간 개념을 구현하는 데 사용한다. 이차원 배열 [실습] 이차원 배열 초기화하기 package array; public class TwoDimension { public static void main(String[] args) { int[][] arr = {{1, 2, 3}, {4, 5, 6}}; for(int i = 0; i < arr.length; i++) { for(int j = 0; j <..
[MySQL] COUNT 이외의 집계 함수 [SYNTAX] SUM( [ ALL | DISTINCT ] 집합 ) AVG( [ ALL | DISTINCT ] 집합 ) MIN( [ ALL | DISTINCT ] 집합 ) MAX( [ ALL | DISTINCT ] 집합 ) 집계 함수는 COUNT 이외에도 SUM, AVG, MIN, MAX 등이 있다. SUM으로 합계 구하기 SUM 집계함수에 지정되는 집합은 수치형뿐이다. 문자열형이나 날짜 시간형의 집합에서 합계를 구할 수 없다. SUM 집계함수도 COUNT와 마찬가지로 NULL값은 무시한다. NULL값을 제거한 뒤 합계를 낸다. AVG로 평균내기 AVG라는 집계 함수를 사용하면 간단하게 평균값을 구할 수 있다. AVG 집계 함수에 주어지는 집합은 SUM과 동일하게 수치형만 가능하다. AVG 집계 함수도 ..
[Java] 배열이란? 배열이란? 자료가 연속으로 나열된 자료구조로, 배열을 사용하면 자료형이 같은 자료 여러 개를 한 번에 관리할 수 있다. 배열을 사용하려면 먼저 배열을 선언해야 한다. 배열도 변수와 마찬가지로 자료형을 함께 선언한다. 자료형 [ ] 배열 이름 = new 자료형 [개수]; 자료형 배열 이름[ ] = new 자료형 [개수]; 배열을 이루는 각각의 자료를 배열 요소라 한다. 배열 요소는 자료형이 모두 같다. int[] studentIDs = new int[10]; //int형 요소가 10개인 배열 선언 위 문장은 int형 요소가 10개인 배열을 선언한 것이다. 이렇게 선언했을 때 메모리 상태를 나타내면 배열 초기화하기 자바에서 배열을 선언하면 그와 동시에 각 요소의 값이 초기화된다. 배열의 자료형에 따라 정수는..
[MySQL] 행 개수 구하기 - COUNT [SYNTAX] 집계 함수 COUNT (집합) SUM (집합) AVG (집합) MIN (집합) MAX (집합) SQL은 데이터베이스라 불리는 '데이터 집합'을 다루는 언어로 이 같은 집합의 개수나 합계가 궁금하다면 위와 같은 집계 함수를 사용하여 간단하게 구할 수 있다. COUNT로 행 개수 구하기 sample51 테이블에는 전부 5개의 행이 있으며, COUNT의 결괏값도 5가 나온다. 집계 함수의 특징은 복수의 값(집합)에서 하나의 값을 계산해 내는 것이다. 일반적인 함수는 하나의 행에 대하여 하나의 값을 반환하지만, 집계 함수는 집합으로부터 하나의 값을 반환한다. 이렇게 집합으로부터 하나의 값을 계산하는 것을 '집계'라고 한다. SELECT 구는 WHERE구보다 나중에 처리되어 WHERE구로 조건을 ..
[Java] static 응용 - 싱글톤 패턴 싱글톤 패턴이란? 객체 지향 프로그램에서 인스턴스를 단 하나만 생성하는 디자인 패턴을 싱글톤 패턴(singleton pattern)이라 한다. 📌 디자인 패턴이란? 객체 지향 프로그램을 어떻게 구현해야 좀 더 유연하고 재활용성이 높은 프로그램을 만들 수 있는지를 정리한 내용이 디자인 패턴(design pattern)이다. 간단히 말해서 프로그램 특성에 따른 설계 유형을 이론화 한 내용이며, 특정 알고리즘이나 프로그래밍 언어를 위한 라이브러리가 아니라 객체 지향으로 설계하는 방법을 설명한 것이다. 따라서 디자인 패턴은 자바는 물론 C++ 나 C#과 같은 다른 객체 지향 언어에도 적용하여 구현할 수 있다. 싱글톤 패턴으로 회사 클래스 구현하기 1단계 : 생성자를 private로 만들기 생성자가 하나도 없는 ..
[Java] 변수 유효 범위 변수는 어디에 어떻게 선언되느냐에 따라 유효 범위(scope)가 달라진다. 지역변수의 유효 범위 지역변수는 함수나 메서드 내부에 선언하기 때문에 함수 밖에서는 사용할 수 없다. 지역변수가 생성되는 메모리를 스택(stack)이라 한다. 스택에 생성되는 지역 변수는 함수가 호출될 때 생성되었다가 함수가 반환되면 할당되었던 메모리 공간이 해제되면서 함께 없어진다. 멤버 변수의 유효 범위 멤버 변수는 인스턴스 변수라고도 한다. 클래스가 생성될 때 힙(heap) 메모리에 생성되는 변수이다. 멤버 변수는 클래스의 어느 메서드에서나 사용할 수 있다. 힙에 생성된 인스턴스가 가비지 컬렉터(garbage collector)에 의해 수거되면 메모리에서 사라진다. 클래스 내부의 여러 메서드에서 사용할 변수는 멤버 변수로 선..
[Java] static 변수 static 변수란 다른 용어로 ‘정적 변수’라 한다. 다른 멤버 변수처럼 클래스 내부에 선언하지만, 다른 멤버 변수처럼 인스턴스가 생성될 때마다 새로 생성되는 변수가 아니다. 프로그램이 실행되어 메모리에 올라갔을 때 딱 한번 메모리 공간이 할당되어 그 값은 모든 인스턴스가 공유한다. 그래서 static 변수를 클래스에 기반한 변수라 해서 ‘클래스 변수(class variable)’이라고도 한다. static int serialNum; [실습] static 변수 사용하기 package staticex; public class Student { public static int srialNum = 1000; public int studentID; public String studentName; public ..
[Java] 객체 간 협력 [실습] 학생 클래스 구현하기 package cooperation; public class Student { public String studentName; //학생 이름 public int grade; //학년 public int money; //학생이 가지고 있는 돈 public Student(String studentName, int money) { this.studentName = studentName; this.money = money; } public void takeBus(Bus bus) { bus.take(1000); this.money -= 1000; } public void takeSubway(Subway subway) { subway.take(1500); this.money -= 15..