본문 바로가기

자바

(33)
9. 클래스를 이용하여 병원 환자관리 프로그램 만들기 6, 7, 8강에서 배운 정보들로 병원 환자관리 프로그램을 만들어보자 고속도로 클래스는 총 2개의 클래스로 이루어져 있다. 첫번째 클래스는 Patient 클래스로 환자의 이름, 병명, 나이를 멤버변수로 갖는다. 멤버 함수로 각각의 getter와 setter를 가지고 있다. 두번째 클래스는 Manage 클래스로 환자의 수와, 환자의 명단, 의사의 수를 멤버 변수로 갖는다. 멤버 함수로 환자 명단 교체하는 기능과 환자대비 의사 수를 나타내는 기능, 원하는 환자의 정보를 보는 기능을 가진다. package Hospital; public class Patient { //private멤버로 멤버변수 정의 private String name; //환자 이름 private String disease; //환자 병명 ..
8. 절차지향 프로그래밍과 함수 그리고 객체지향3 클래스에서 객체를 만들기 위해 생성자라는 것을 사용한다. 클래스에서 생성자를 만들지 않으면 자동으로 기본 생성자를 호출하여 생성한다. 생성자는 매개변수의 종류와 매개변수의 갯수를 이용하여 여러가지를 만들 수 있다. 접근 지정자는 객체 지향에서 중요한 문법이다. 외부에서 클래스에 값을 변경하지 못하도록 제어하는 키워드를 이용하여 클래스에 캡슐화를 책임진다. 이클립스에서는 private 멤버의 값을 사용하기 위해 getter와 setter함수를 자동으로 지원해준다. getter란 private멤버 값을 사용하기 위해 반환하는 함수이고 setter란 private멤버 값을 지정하기 위해 사용하는 함수이다. 자동으로 getter와 setter를 만드는 방법은 클래스 선언부에서 오른쪽 클릭을 하여 source를 ..
7. 절차지향 프로그래밍과 함수 그리고 객체지향2 절차지향의 중복된 코드사용과 유지보수의 어려움으로 함수가 나왔다는 것을 지난 시간에 배웠다. 하지만 시간이 지날수록 함수도 온전히 이러한 문제점을 해결해주지 못했다. 이러한 이유로 객체지향개념이 나왔다. 객체의 개념을 다시 집어보자 객체란 같은 기능을 하는 데이터와 같은 기능을 하는 로직의 모임이다. 예를 들어 에어컨이라는 객체가 있다고 가정을 하자. 에어컨에는 온도와 습도를 나타내는 데이터가 있다. 그리고 온도를 조절할 수 있는 메소드와 습도를 조절할 수 있는 메소드가 있다. 또한 각각 다른 모습에 에어컨이 존재하기 때문에 객체는 완전한 독립체라고 말할 수 있다. 각각의 객체는 데이터와 메소드를 따로 가지고 있다. 객체는 클래스로부터 생산된다. 클래스란 객체의 설계도라 생각하면 된다. 클래스에서 사용자..
6. 절차지향 프로그래밍과 함수 그리고 객체지향1 절차 지향 프로그래밍이란 위에서 부터 아래로 프로그래밍이 순차적으로 실행되는 것을 말한다. 프로그래머들은 절차지향 방식을 사용하면서 비효율 적인 면을 느끼게 되었다. 첫번째는 동일한 작업을 하는 프로그램을 입력한 값에 따라 수정해야 되는 불편함이 있었다. 두번째는 프로그램을 입력한 값에 따라 수정하지 않고 각각 마다 코드를 재사용하는 점인데 코드의 양이 길어진다는 점이다. 이러한 불편함에 따라 등장한 것이 함수의 개념이다. 하지만 함수를 사용하여도 여전히 코드의 재사용, 유지 보수의 어려움이라는 문제가 사라지지 않았다. 그래서 등장한 개념이 객체지향이다. 객체란 어떤 특정한 기능을 하는 함수와 데이터를 한 장소에 모아두어 필요할 때 사용할 수 있게 하는 것이다. 다음은 함수를 만드는 간단한 예제이다. p..
5. 배열 같은 자료형을 여러개 묶어 사용하는 것을 배열이라고 한다. 1차원 배열은 다음과 같이 구성된다. 각 원소의 접근하려면 []연산자를 사용하는데 항상 배열의 시작은 0임을 명심해야한다. ex.) int[] mat = new int[7]; 첫번째 원소를 사용 : mat[0] 두번째 원소를 사용 : mat[1] 세번째 원소를 사용 : mat[2] n번째 원소를 사용 : mat[n-1] 2차원 배열은 다음과 같이 구성된다. 2차원 배열은 []연산자 2개를 이용하여 접근한다. 앞에 []는 행의 번호, 뒤에 []는 열의 번호가 들어간다. 각 행은 다른 크기의 배열을 지정할 수 있다. 2차원 배열 역시 원소의 시작은 0이다. ex.) int[][] mat = new int[3][2]; 1행 1열의 원소를 사용 : ma..
4. 제어문과 반복문 제어문은 사용자가 원하는 조건에 해당하는 경우 특정 명령을 수행하고 싶을 때 사용한다. 제어문의 구성으로는 if문과 switch문이 있다. 우선 if문을 알아보자. if문의 구성은 다음과 같다. if(원하는 조건) { 조건에 맞는 명령을 수행 } else if(원하는 조건) { 조건에 맞는 명령을 수행 } else { 조건에 맞는 명령을 수행 } if와 else if는 조건을 가지지만 else는 조건을 가지지 않는다는 점을 기억하자. import java.util.Scanner; public class if_ex { public static void main(String[] args) { System.out.println("평점을 입력하세요"); Scanner sc = new Scanner(System...
3. 연산자 자바의 연산자는 다른 언어의 연산자와 똑같이 사용한다. 한가지 유의해야 할 점은 전위 연산자와 후위 연산자의 사용시 차이점이다. 전위 연산자와 후위 연산자가 단독으로 사용할 시 결과값이 같지만 다른 기능과 겹쳐 사용한다면 결과값이 달라진다. 전위 연산자는 현재 있는 값을 변화시킨 후 다른 기능에 적용시킨다. 후위 연산자는 현재 있는 값을 유지시킨 후 다른 기능에 적용한 다음 현재 값을 변화시킨다. public class operators_ex { public static void main(String[] args) { int a = 10; int b = 20; double c = 3.14; double d = 2.31; System.out.println("---산술 연산자---"); System.out...
2. 자료형 프로그래밍의 기초인 자료형에 대해 알아보자 자바는 크게 기초자료형과 객체 자료형이 존재한다. 기초자료형은 java의 이미 존재하는 데이터 타입이다. 객체 자료형은 여러가지 데이터들이 모여있는 데이터로 기본자료형보다 크기가 크다 여기서는 기초자료형을 다룰 것이다. 자바의 기초자료형은 데이터 타입을 기준을 크게 4가지로 분류한다. 정수 : byte, short, int, long 실수 : float, double 문자 : char 참과 거짓 : boolean 자료형 크기 표현 범위 byte 1byte - 2^7 ~ 2^7 - 1 short 2byte - 2^15 ~ 2^15 - 1 int 4byte - 2^31 ~ 2^31 - 1 long 8byte - 2^63 ~ 2^63 - 1 float 4byte - ..