Java 는 OOP(Object Oriented Programming, 객체 지향 프로그래밍) 언어 중 하나
1. class : Object를 정의 한것 (설계도)
2. Object : 눈에 보이는 사물 또는 개념 (설계도를 보고 만든 사물(개념))
3. Instance : 특정 클래스를 언급 해서 생성하는 Object
4. class는 Data type(Reference type) 이다.
1. class 내에 선언된 변수 와 메서드
1) 멤버변수 (instance 변수) : Data
2) 멤버메서드(instance 메서드) : 기능
- 멤버변수의 데이터타입에는 제한이 없음
3) 생성자 (Constructor) Construcktor
2. class 선언
접근지정자 [그외지정자] class 클래스명 [extends 클래스명 implements 인터페이스명, ...]{ exends , implements
//instance 초기화블럭
{}
//static 초기화블럭
static {}
//멤버변수 (instance 변수) 선언
접근지정자 [그외지정자] 데이터타입 변수명;
//멤버메서드(instance 메서드) 선언
접근지정자 [그외지정자] 리턴타입 메서드명([매개변수 선언...]){
//메서드 영역
}
//생성자 (Constructor)
접근지정자 클래스명과동일한메서드명([매개변수 선언 ...]){
//생성자 메서드 영역
}
}
3. 객체 생성
- 변수 선언 = 객체생성
- DataType 변수명 = 초기값;
- 클래스명 참조변수명 = new 클래스명();
4. 객체의 멤버 사용(접근)
1)멤버변수 : 참조변수명.멤버변수명
2)멤버메서드 : 참조변수명.멤버메서드명()
5. 멤버메서드
- 메서드 헤더(선언부)
접근지정자 [그외지정자] 리턴타입 메서드명([매개변수 선언])
- 메서드 바디(내용)
{ }
1) 매개변수
- 메서드 선언시 메서드 내부에서 필요한 데이터를 호출한 쪽에서 데이터를 받기 위해 선언
- 매개변수 선언시 갯수의 제한은 없음( , 로 구분)
- 매개변수의 데이터타입은 제한이 없음
- 매개변수는 선언된 메서드내에서 사용하는 지역변수
2) 인자값
- 메서드를 호출 할 때 매개변수에 보내는 실제 값(매개변수에 대입하는 값)
a. 인자값은 매개변수와 갯수와, 순서, 데이터타입이 일치 해야 함
b. 매개변수의 변수명과 인자값의 변수명은 일치 하지 않아도 됨
매개변수 int count;
인자값 int num=1;
count = num
3) 리턴타입
- 호출된 메서드가 종료시 호출한 곳으로 돌려줄 데이터가 있을 때 사용
- 메서드 선언부에 리턴하는 데이터의 데이터타입을 명시
- 리턴하는 데이터타입은 1개만 가능
- 리턴타입에는 제한이 없다
- void : 리턴할 게 없다
- 메서드 내에서 return 을 만나면 그 즉시 메서드는 종료
- 메서드가 종료 되는 조건은 메서드 영역의 끝을 만나거나 return을 만났을 때
- return 다음에 코드 작성 시 에러
6. 참조변수 this
- 객체 생성시 만들어지는 변수
- 만들어진 객체의 주소를 담고 있는 참조변수
- class 내부의 메서드 내에서만 사용 가능
- 개발자가 선언하는 변수가 아니라 자동으로 만들어지는 변수
- Object 마다 하나씩 만들어짐
- 생략 가능
- this.멤버변수명
- this.멤버메서드명()
Method OverLoading
Method OverLoading
같은 이름의 메서드를 여러개 만드는것
비슷한 일을 하는 같은 이름의 메서드를 여러개 생성
1. 조건
1) 메서드의 이름이 같아야 함
2) 매개변수의 갯수나, 타입의 구성이 달라야 함
3) 리턴타입은 달라도 상관 없음
새로만드는 new 의 개념
생성자(Constructor) 메서드
- 객체 생성시 딱 한번 호출되는 특수한 메서드
- 객체 생성시 멤버변수의 값을 초기화 하거나, 어떤 일을 하고 싶을 때 사용
- 모든 클래스는 하나 이상의 생성자가 있어야 함
- 클래스 내에 생성자가 없으면 컴파일러가 기본 생성자를 만들어 줌
- 단, 개발자가 하나 이상의 생성자를 선언하면 컴파일러는 기본 생성자를 만들지 않음
1. 생성자 선언 문법
- 메서드와 거의 동일
접근지정자 클래스명과동일한이름([매개변수 선언]){}
2. 기본생성자
- 매개 변수가 없는 생성자
- default Constructor, 빈 생성자
3. this()
- 생성자 내에서 다른 생성자를 호출 할 때 사용
- 생성자 영역 내에서 첫줄에 위치해야 함
4. Instance 초기화 블럭
- 멤버 변수의 초기화 때 보통 사용
- 다른 생성자에서 어떤 멤버변수에 공통적인 값으로 초기화 할 때
- 클래스 내에 { }
멤버변수 초기화 하는 방법
1. 멤버변수 선언과 동시에 초기화 : 활용도 하
2. 객체 생성 후 멤버변수에 값을 대입 : 활용도 하
3. 생성자에서 초기화 : 활용도 중
4. instance block : 활용도 하
5. Getter / Setter 메서드 : 활용도 상
실행순서
1 -> 4 -> 3 ->2,5