재귀매소드
실무에서는 잘 쓰이지 않는다.
재귀 매소드는 수학의 팩토리얼 계산하고 비슷하다. 또한, 본인이 호출하여 본인으로 돌아가는 형식인데, 예시로 확인하자.
클래스
클래스(Class) = 데이터(Data) + 메소드(Method)로 정의할 수 있다.
코드는 데이터(프로그램 상에서 유지하고 관리해야 할 데이터)와 기능(데이터를 처리하고 조작하는 기능)으로 이루어져있다. 은행계좌를 표현한 예제로 확인하자. 여기서 데이터는 int balance(예금잔액), 기능은 deposit, withdraw, checkMyBalance 메소드를 확인할 수 있다.
인스턴스화
BankAccount 의 정의를 보면
int balance = 0; 인스턴스 변수(멤버 변수, 필드)
public int deposit(int amount)
public int int withdraw(int amount)
public int chechkMyBalance() 들은 인스턴스 메소드로 할 수 있다.
즉 인스턴스 변수 = 클래스 내에 선언된 변수
인스턴스 메소드 = 클래스 내에 정의된 메소드이다.
즉, 인스턴스 변수는 ‘지역변수’가 아닌, 클래스 내에서 선언된 변수이므로 같은 클래스 내에 위치한 메소드 내에서 접근이 가능하다. 그래서 deposit 메소드에서 balance를 사용할 수 있었다.
인스턴스를 줄 때는 구분할 수 있는 정보가 필요하다.
은행계좌를 예로 들면, 계좌번호 String accNumber, 주민번호 String ssNumber, int balance(잔액)을 넣어주면 RDBMS의 고유키를 설정하듯이 잘 구별할 수 있다.
클래스는 붕어빵 틀이라 생각하고 인스턴스는 붕어빵이라고 생각하면 편하겠다.
BankAccount myAcnt1 = new BankAccount(); 를 보면
BankAccount 클래스 타입의 myAcnt1 (참조변수) 라는 것이 새로운 인스턴스(new BankAccount)를 참조한다.(가리킨다.) 이 참조변수는
BankAccount ref1 = new BankAccount();
BankAccount ref2 = ref1 처럼 ref1 이 참조하는 대상을 ref2도 참조하게 할 수 있다.
String 클래스
String myName = “Yoon Sung Woo”; 로 String 형 참조변수의 문자열 참조예시
즉, 문자열을 메소드의 인자로 전달할 수 있다.
매개변수로 String형 참조변수를 선언하여 문자열을 인자로 전달받을 수 있다.
생성자
생성자는 메소드와 모습이 같다. 그러나 생성자는 다음과 같은 부분에서 메소드와 차이가 있다.
생성자의 이름은 클래스의 이름과 동일해야 한다.
생성자는 값을 반환하지 않고 반환형도 표시하지 않는다.
public BankAccount(String acc, String ss, int bal){
accNumber = acc;
ssNumber = ss;
balance = bal
; 처럼.
자바의 이름 규칙
클래스 : 첫문자는 대문자, 둘 이상의 단어 시 새로 시작하는 단어는 대문자
CirclePoint
메소드,변수 : 첫문자 소문자
yourAge
상수 : 모든 문자를 대문자, 단어를 연결할 경우 언더바
COLOR 혹은 COLOR_RAINBOW