Programming
JAVA Basic) 다차원 배열
목차 수학에서 평면을 나타내기 위해 x, y좌표를 쓰는 것 처럼 프로그램에서도 평면을 구현하기 위해 행, 열을 이용한 이차원 배열을 사용할 수 있다. 바둑, 체스 네비게이션 지도 등을 구현할 때 이차원 배열을 활용. 공간을 나타내는 프로그램을 구현할 때는 삼차원 배열을 활용. 이렇게 이차원 이상으로 구현한 배열을 '다차원 배열'이라고 한다. 2행 3열의 이차원 배열 선언 코드. int [][] arr = new int [2] [3]; // 자료형 배열명 행 / 열 개수 배열의 모든 요소를 참조하기 위해 각 행을 기준으로 열 값을 순회한다. 이 배열을 초기화 하려면 행과 열 개수에 맞추어 중괄호 {}안에 콤마(,)로 구분해 값을 적으면 된다. 다음 코드처럼 괄호 안에 적은 6개 값이 순서대로 arr배열의 ..
JAVA Basic) 배열
목차 자료를 순차적으로 관리하는 구조, 배열. 만약 수십개의 순차적인 변수를 관리해야 한다고 했을 때, 일일히 변수를 대입하기 힘들 것이다. 이때 사용하는 자료형이 배열(array)이다. 배열은 자료 구조의 가장 기초 내용이다. 배열을 사용하면 자료형이 같은 자료 여러 개를 한 번에 관리가 가능하다. 배열은 자료가 연속으로 나열된 자료 구조. 배열 선언 배열을 사용하려면 먼저 배열 선언을 해야함. 배열도 변수와 마찬가지로 자료형을 함께 선언한다. int[] array1 = new int[5]; //자료형[] 배열이름 = new 자료형[개수]; int array1 [] = new int[5]; //자료형 배열이름 [] = new 자료형[개수]; 배열을 이루는 각각의 자료를 배열 요소라고 한다. 이 배열 요..
JAVA Basic) 문제 풀이1
Q6. 카드 회사에서 카드를 발급받을 때마다 카드 고유 번호를 부여해준다. public class Company { private static int serialNum = 2000; public int cardNum; public Company() { serialNum++; cardNum = serialNum; } public int getCardNum() { return cardNum; } } public class CardTest { public static void main(String[] args) { Company Card1 = new Company(); Company Card2 = new Company(); System.out.println(Card1.cardNum); System.out.pr..
JAVA Basic ) static 응용 - 싱클톤 패턴
목차 싱글톤 패턴? - (singleton pattern) 프로그램을 구현하다 보면 여러 개의 인스턴스가 필요한 경우도 있고, 단 하나의 인스턴스만 필요한 경우도 있다. 객체 지향 프로그램에서 인스턴스를 단 하나만 생성하는 디자인 팬턴을 '싱글톤 패턴(singleton pattern)'이라고 한다. 여기서 살펴볼 싱글톤 패턴은 static을 응용하여 프로그램 전반에서 사용하는 인스턴스를 하나만 구현하는 방식이다. 실무, 어러 프레임워크에서 많이 사용되는 패턴이므로 잘 익혀두면 좋을 것이다. 어떤 회사의 직원들을 프로그램으로 구현한다고 해보자. 직원은 여러 명이므로 여러 개의 인스턴스가 필요한 것은 당연하지만, 회사는 하나이므로 하나의 인스터스만 생성해야 한다. 그러면 싱글톤 패턴으로 company 클래스..
JAVA basic) 변수의 유효 범위 (scope)
목차 지금까지 우리는 세 가지 종류의 변수를 배웠다. 1. 함수나 메서드 안에서만 사용할 수 있는. 지역 변수(로컬 변수, local variable) 2. 클래스 안에서 사용할 수 있는 멤버 변수(인스턴스 변수, instance variable) 3. 그리고 여러 인스턴스에서 공통으로 사용할 수 있는 static 변수 (클래스 변수, class variable) 변수는 어디에 어떻게 선언되느냐에 따라 유효 범위(scope)가 달라집니다. ※주의 변수는 특성에 맞게 선언해서 사용하는 것이 중요. 클래스의 여러 메서드에서 사용할 변수를 지역 변수로 선언하면 다른 메서드에서 그 변수를 사용해야 할 때 지역 변수를 메서드의 매개 변수로 전달해야 하므로 번거로워진다. 그렇다고 모든 변수를 멤버 변수나 stati..
JAVA Basic ) static변수
목차 각 인스턴스 마다 따로 생성되는 변수가 아닌, 클래스 전반에서 공통으로 사용할 수 있는 '기준 변수'가 필요할 때가 있다. 예를 들어, 학생이 한 명 생성될 때마다 학번(기준 변수 값)을 하나씩 증가시켜 각 학생 인스턴스의 학번 변수에 대입해 주면 된다. 이때 클래스에서 공통으로 사용하는 변수를 'static 변수'로 선언한다. 1. 정의 static 변수란 다른 용어로 '정적 변수'라고도 한다. static int serialNum; (static 예약어) (자료형) (변수 이름) static변수는 클래스 내부에 선언하지만, 다른 멤버 변수처럼 인스턴스가 생성될 때마다 생성되는 변수가 아니다. static변수는 프로그램이 실행되어 메모리에 올라갔을 때 딱 한 번 메모리 공간이 할당된다. 그리고 그..
JAVA_Basic ) 객체 간 협력
목차 객체 지향 프로그램은 객체를 정의하고 객체 간 협력으로 만들어진다. 그렇다면 실제로 객체의 협력이 어떻게 이루어지는지 보자. '학생'이 '버스'와 '지하철'을 이용하는 프로그램을 구현해보자. 학생 (이름, 학년, 가진 돈) ↓(버스를 탄다.) ↘(지하철을 탄다.) 버스 (버스 번호, 승객 수, 수입) / 지하철 (노선 번호, 승객 수, 수입) package cooperation; public class Student { public String studentName; //학생 이름 public int grade; // 학년 public int money; // 가진 돈 public Student(String studentName, int money) { // 학생 이름과 가진 돈을 매개변수로 받는 ..
JAVA Basic ) this 예약어
목차 요약 this예약어는 다음과 같이 활용된다. 1. 자신의 메모리를 카리키는 this. 2. 생성자에서 다른 생성자를 호출하는 this. 3. 자신의 주소를 반환하는 this. 1. 자신의 메모리를 카리키는 this. this는 간단히 설명하면 생성된 인스턴스 스스로를 가리키는 예약어. package thisEx; class BirthDay { int day; int montth; int year; public void setYear(int year) { this.year = year;// bDay.year = year;와 같음 } public void printThis() { System.out.println(this);// this 출력 메서드 (System.out.println(bDay)와 같다..
JAVA_Basic) 정보 은닉
목차 package hiding; public class Student { int studentID; private String studentName;// studentName 변수를 private로 선언 int grade; String address; public String getStudentName () { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } } studentName변수를 private으로 선언! 그리고 Student 클래스의 실행 클래스인 StudentTest 작성 package hiding; public class StudentTest { pub..
JAVA_Basic ) 생성자
목차 package constructor; public class Person { String name; float height; float weight; public Person() {}// 디폴트 생성자 public Person(String pname, float pheight, float pweight) { name = pname; height = pheight; weight = pweight; } // 이름, 키, 몸무게를 매개변수로 입력받아 Person 클래스를 생성하는 생성자. } : 클래스를 처음 만들 때 멤버 변수나 상수를 초기화하는 것. package constructor; public class Person { String name; float height; float weight; p..
JAVA_Basic) 클래스와 객체
멤버 변수와 get() 메소드를 세팅한 Person클래스 package codingtest1; public class Person { int personAge; String personName; boolean personMarried; int personCount; public int getPersonAge() { return personAge; } public String getPersonName() { return personName; } public boolean getPersonMarried() { return personMarried; } public int getPersonCount() { return personCount; } } 그리고 테스트용 클래스 PersonTest 클래스를 생성 pa..