저번글에 이어 Teacher이라는 클래스도 생성하여 Person을 상속받습니다. private String teacherID; private int monthSalary; // 월급 private int workedYear; // 연차 인스턴스들을 선언하고 마찬가지로 main같은 함수에서 접근 할 수 있도록 get과 set함수를 선언해줍니다 마찬가지로 Teacher 클래스를 이용해 인스턴스 변수를 만들때 변수들을 한번에 초기화 해줄 수 있는 생성자 또한 만들어줍니다 또 앞선 student 클래스와 마찬가지로 show함수를 만들어줘서 이름, 나이, 키, 몸무게, 교직원번호, 월급, 연차 정보를 출력할 수 있게 해줍니다. ..
상속이란 다른 클래스가 가지고있는 정보를 자신이 포함하겠다는 의미로 자식 클래스가 부모클래스의 변수나, 함수같은 인스턴스를 정의해주지 않아도 사용할 수 있는 문법이다. 가령, Person이라는 부모 클래스가 student클래스랑 teacher이라는 자식 클래스들로 나뉠 수 있다. 클래스의 인스턴스를 선언할때 보안상의 문제때문에 앞에서 private로 변수를 선언 해준 후 public get, set함수 선언을 해준다했는데 이게 JAVA의 거의 표준이기때문에 자동완성도 지원한다 변수를 private로 만든다음에 코드창에 마우스 우클릭 -> Source -> Generate Getters and Setters 를 입력하면 변수별로 각각 get함수와 set함수가 만들어진다 ..
이번에는 Main클래스와 별개로 Node라는 클래스를 하나 더 정의해준다 클래스와 인스턴스를 비유하자면 자동차 공장과 자동차 / 빵틀과 빵이다. main함수 6행에서 실행된 코드로 Node클래스 23행의 생성자로인해 one이라는 Node클래스의 인스턴스가 만들어져서 (10 ,20)이 담기고 8행도 똑같이 two라는 Node클래스의 인스턴스로 만들어져서 (30, 40)이 담긴다. main함수의 9행에서 one.getCenter(two) 즉 one은 이미 Node의 인스턴스임으로 . 연산자로 getCenter함수를 사용할 수 있다 이를 실행하면 Node클래스의 getCenter함수가 실행되어 ((10 + 30) / 2 , (20 + 40) / 2) 한..
2차원 배열의 선언은 1차원 배열의 선언과 비슷하게 int[][] 배열이름 = i[크기][크기]; 이다. 2중 for문을 이용해서 2500개의 변수에 다 랜덤한 0이상 10미만의 수를 넣어주고 다시 2중 for문으로 출력한다
9행부터 Math라는 자바 기본 라이브러리의 random()함수는 0이상 1미만의 범위 내에서 임의의 실수를 랜덤으로 생성한다 0.1, 0.11, 0.00001, 0.0000001 등 무수히 많은데 따라서 여기에 100을 곱하면 (0
재귀함수를 이용하면 더 간단하게 이렇게 프로그램을 작성할 수가 있다 하지만, 재귀함수의 문제점은 수가 커질수록 연산해야하는 횟수가 기하급수적으로 많아진다는것이다. 예를들어 피보나치 함수에 50을 넣어보자 컴퓨터는 49, 48로 나누고 다시 48,47, 47, 46으로 나누고 계속 해서 나눌것이다 따라서 2^50 개의 연산을 해야하는데 실행해보면 너무나도 많은 연산을 처리하느라 결과가 나오지 않는것을 알 수 있다. 2^1000 인 경우는 말할 필요도 없다 따라서 재귀함수는 때에따라서는 간결하게 코드를 작성하는데 도움이 되지만 더욱 더 많은 시간을 소비 할 수가 있다
피보나치 수열이란 1부터 시작해서 그 전에나온 수를 더해 나가는 수열이다 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ......
사용자 정의 함수의 중첩을 이용해 (max_three안의 max함수) 문제 해결