목록BackEnd (18)
매일 매일 미라클 코딩

은행 계좌를 만들면, 그를 통해 여러가지 금융활동을 할 수 있습니다. 카드를 발급하고, 증권계좌와 연결하고, 보험상품도 구매할 수 있지요. 다양한 활동이지만 그 기본이 되는 것은 계좌번호, 잔액이라는 데이터이고. 입금과 출금이라는 기능임을 알 수 있습니다. 이처럼 공통된 기능을 연관된 클래스에서 받아서 쓸 수 있는 것이 바로 상속입니다. 기계의 작동원리인 전원켜기, 동작하기, 전원켜기를 TV, 라디오, 밥솥에 모두 적용할 수 있는데요 이러한 공통된 기능을 각각의 클래스마다 코딩하는 것은 비효율 적인 일일 것입니다 . 따라서 기계()라는 상위 클래스를 상속받아 쓰는 하위 클래스들을 만드는 것이지요. 저번에 은행 프로그램에서 만든 계좌 클래스를 활용해 상속을 다뤄 보겠습니다. class Account{ St..

시험을 봐야하는데 수험표가 없다면? 입금을 해야하는데 계좌번호를 모른다면? 시험이라는, 입금이라는 중요한 임무를 수행할 수 없게 되겠지요. 프로그램도 마찬가지로 객체를 다룰 때 꼭 필요한 준비물이 있습니다. 이러한 준비물이 누락되는 것을 방지하는 것이 바로 클래스의 생성자입니다. 입출금을 실행하는 은행 프로그램을 만들겠습니다. 계좌 단위로 거래가 이루어지므로 Account 클래스를 만들었습니다. class Account{ String name; int accountNum; int money; public Account(String name, int num, int money) { this.name=name; accountNum= num; this.money = money; } } 클래스 안에 클래스와 같..

배열 선언 시, 데이터를 메모리에 연속되게 저장합니다. 그리고 나서 자료형의 크기 만큼 (index) 번 이동하여 데이터를 사용합니다. 따라서 배열의 이름은 참조변수와 같습니다. C언어의 포인터 역할과 비슷합니다. 따라서 배열을 사용할 때는 배열의 참조값을 제어하는지 밸류값을 제어하는지에 주의하여 사용해야합니다. 그 차이점을 크게 배열의 얕은복사와 깊은복사 개념을 통해 알 수 있습니다. 1. 얕은 복사 배열을 단순히 '=' 연산자를 통해 복사할 경우, 원본 배열이 가리키는 참조값을 복사하게 됩니다. 그래서 아래와 같이 선언된 두 배열은 메모리 상의 같은 곳을 가리키게 되죠. int[] arr1 = new int[]{1, 2, 3, 4}; int[] arr2 = arr1; 이때 복사한 배열2의 값을 바꾸게..

연관된 데이터가 너무 많다면 일일이 변수를 선언해주는 것도 번거로운 일일 것입니다 이럴 때 배열을 사용합니다. 선언은 int[] arr1; 초기화는 arr1= { 2, 4, 6, 8 }; 물론 여느 변수처럼 선언과 초기화를 함께 할 수 있습니다. int[] arr1 = new int[4]; 이와 같이 선언하면 4개 value를 가진 배열이 생깁니다. 각 value의 default 값은 0 입니다. int[] arr1 = new int[] {2, 4, 6, 8}; 이처럼 옆에 배열 값을 직접 입력하여 객체를 생성할 수도 있습니다. 참조변수처럼, arr1은 메모리 상에서 배열이 시작되는 주소값을 가집니다 이런 특성을 가진 배열을 이용해 46개의 정수중 6개를 뽑는 로또번호 추첨기를 만들어보겠습니다. 먼저, ..