프로그래밍 언어/JAVA (62) 썸네일형 리스트형 JAVA 입문 - 다차원 배열 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - 배열 다차원 배열 더보기 어제 배운 배열은 모두 행 하나로 이루어진 '일차원 배열'이다. 이번에는 체스 게임이나 네비게이션 지도 등을 구현할 때 사용하는 이차원 배열이나, 주로 공간을 나타내는 프로그램에서 사용하는 삼차원 배열 등 이차원 이상으로 구현한 배열인 '다차원 배열'을 배울 것이다. 이 글에서는 이차원 배열을 배운다. 이차원 배열 더보기 이차원 배열을 선언하는 코드는 다음과 같다. int[ ][ ] num = new int[행 개수][열 개수]; //예시 int[ ][ ] num = new int[2][3]; 더보기 배열의 모든 요소를 참조하려면 각 행을 기준으로 열 값을 순회하면 된다. 이차원 배열을 초기화하려면 아래처럼 행과 열 개.. JAVA 입문 - 배열 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - 싱글톤 패턴 배열 배열이란 같은 자료형인 여러 개의 변수들을 한 번에 관리할 수 있게 하는 자료형이다. 배열 선언과 초기화 배열을 사용하기 위해서는 배열을 선언해야 한다. 배열도 변수와 마찬가지로 자료형을 함께 선언한다. 자료형[] 배열이름 = new 자료형[개수]; 자료형 배열이름[] = new 자료형[개수]; 배열을 선언하는 문법은 위와 같다. 배열을 이루는 각각의 자료를 배열 요소라고 한다. 배열 요소는 자료형이 모두 같다. 저장하려는 자료의 성격에 맞게 자료형을 정하고 선언하려는 배열 요소 개수만큼 [ ] 안에 적는다. new 예약어는 배열을 새로 만들라는 의미이다. 배열을 선언하면 선언한 자료형과 배열 길이에 따라 메모리가 할당된다. .. JAVA 입문 - 싱글톤 패턴 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - 변수 유효 범위 싱글톤 패턴 더보기 싱글톤 패턴이란 객체 지향 프로그램에서 인스턴스를 단 하나만 생성하는 디자인 패턴을 뜻한다. 디자인 패턴이란 프로그램 특성에 따른 설계 유형을 이론화 한 내용이며 객체 지향 프로그램을 더 유연하고 재활용성이 높은 프로그램을 만들 수 있게 정리한 내용을 말한다. 이번 글에서 배워볼 싱글톤 패턴은 static을 응용하여 프로그램 전반에서 사용하는 인스턴스를 하나만 구현하는 방식이다. 실무나 여러 프레임워크에서 많이 사용하는 패턴이라니 잘 익혀두자. 어떤 회사의 직원들을 객체 지향 프로그램으로 구현한다고 가정하면 직원은 여러명, 회사는 하나이다. 이런 경우에는 회사 객체를 하나만 생성해야한다. 다음과 같이 싱글톤 .. JAVA 입문 - 변수 유효 범위 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - static 변수 변수 유효 범위 더보기 지금까지 배운 세 가지 변수들은 지역 변수, 멤버 변수, static 변수이다. 변수는 어디에 어떻게 선언되느냐에 따라 유효 범위(scope)가 달라진다. 지역 변수의 유효 범의 지역 변수는 함수나 메서드 내부에 선언하기 때문에 함수 밖에서는 사용할 수 없다. 따라서 하나의 함수에 선언한 지역 변수는 다른 함수에서 사용할 수 없다. 지역 변수가 생성되는 메모리를 스택이라고 한다. 스택에 생성되는 변수는 함수가 호출될 때 생성되었다가 함수가 반환되면 할당되었던 메모리 공간이 해제되면서 함께 없어진다. 멤버 변수의 유효 범위 멤버 변수는 인스턴스 변수라고도 한다. 클래스가 생성될 때 힙 메모리에 생성된다. .. JAVA 입문 - static 변수 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - 객체 간 협력 변수를 여러 클래스에서 공통으로 사용하려면 지난 글에서 만든 학생 클래스를 떠올려보자. 학생 클래스를 사용하면 여러 학생의 인스턴스를 만들 수 있다. 그리고 학생마다 고유한 학번(studentID)를 갖는다. 여기서 학생 클래스가 생성될 때 학번이 자동으로 생성되도록 하려면 어떻게 해야할까. 생성된 인스턴스는 학번을 순서대로 가져야 한다. 이 경우에 각 인스턴스마다 따로 생성되는 변수가 아닌, 클래스 전반에서 공통으로 사용할 수 있는 기준 변수가 있어야한다. 그리고 학생이 한 명 생성될 때마다 기준 변수 값을 하나씩 증가시켜 각 학생 인스턴스의 학번 변수에 대입해주면 된다. 이 때 클래스에서 공통으로 사용하는 변수를 'static.. JAVA 입문 - 객체 간 협력 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - this 예약어 객체 간 협력 더보기 객체 지향 프로그램은 객체를 정의하고 객체 간 협력으로 만든다고 했다. 그러면 실제로 객체의 협력이 어떻게 이루어지는지 살펴보자. 학생이 버스나 지하철을 타고 등교하는 것을 객체 지향 프로그래밍 해보자. 우선 학생, 버스, 지하철 세 객체를 만든다. 학생 클래스는 이름, 가진 돈, 학년을 멤버 변수로 갖는다. 그리고 '버스에 탄다', '지하철에 탄다', '현재 정보를 보여준다'를 멤버 함수(메서드)로 갖는다. 학생 클래스를 하나 생성하면 가진 돈과 이름을 초기화한다. 디폴트 생성자를 제공하지 않으므로 학생 클래스를 생성하려면 매개 변수가 있는 Student(String, int) 생성자를 호출해야한다. ta.. JAVA 입문 - this 예약어 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - 정보 은닉 this 예약어 더보기 this는 간단히 설명하면 생성된 인스턴스 스스로를 가리키는 예약어이다. 이 외에도 다른 역할로 this를 사용할 수 있다. 생년월일을 뜻하는 Birthday 클래스를 만들고, this가실제로 어떤 의미인지 알아보자. 예전 글에서 인스턴스를 가리키는 변수가 참조 변수이며, 참조 변수를 출력하면 '클래스 이름@메모리 주소' 문자열 값이 나온다고 배웠었다. 출력 결과를 보면 bDay.printlnThis( ) 메서드를 호출하여 출력한 this 값이 참조 변수 bDay를 출력한 값과 같은 것을 볼 수 있다. 즉 클래스 코드에서 사용하는 this는 생성된 인스턴스 자신을 가리키는 역할을 한다. 따라서 this.year.. JAVA 입문 - 정보 은닉 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - 참조 자료형 접근 제어자 더보기 지금까지 클래스를 만들고 멤버 변수, 메서드, 생성자 등을 만들 때 사용한 public 예약어의 의미를 살펴보자. 객체 지향 프로그램에서는 예약어를 사용해 클래스 내부의 변수나 메서드, 생성자에 대한 접근 권한을 지정할 수 있다. 이런 예약어를 '접근 제어자(access modifier)'라고 한다. 지난 글에서 만든 Student.java 코드의 모든 변수에는 public 예약어가 있다. public이라고 선언한 변수나 메서드는 외부 클래스에서 접근이 가능하며 외부 클래스가 사용할 수 있다는 뜻이다. 반대로 접근 제어자를 private으로 선언한 변수나 메서드는 외부 클래스에서 사용할 수 없다. 변수를 priv.. 이전 1 ··· 3 4 5 6 7 8 다음