1. Class 형식
1) class 형식
class A {
int i; //필드 변수(A내 모든 메소드 사용 가능)
void m(int j) { //
}
2. 생성자 형식 및 특징
0) Department class 형식
1) 생성자 정의
2) 생성자 선언
1. Department d1 = new Department(); //기본 생성자(default constructor)
- 클래스명 참조변수(=주소값) = new 생성자;
- d1은 오른쪽 department의 복사본의 주소를 가지고 있다. 즉, 참조변수이다.
2. Department d2 = new Department(10,"인재개발부", "최인재");
- 생성자가 객체를 초기화 시펴줌. 초기화 값을 생성자의 매개변수로 넣을 수 있다.
- 단, Department class에 매개변수가 있는 생성자를 정의 해야 한다.
3. Department d3 = new Department(10,"인재개발부");
- 생성자 함수에 매개변수가 2개인 함수를 만든다.
3) 특징
1> 클래스 내 "기본"생성자가 자동 정의 된다.
- 클랫명 () { } -->default constructor(기본 생성자)
2> new 키워드 뒤 호출을 사용한다
3> 객체 생성 시점에서 호출한다.
4> 기본생성자 내용을 수정하거나 매개변수 수정이 가능하다.
5> 단,4번처럼 수정하면 기본 생성자는 자동으로 사라진다.
6> 생성자 정의 내용: 필드 변수값 초기화 문장
7> 메소드와의 차이점 : 리턴 타입이 없고, 클래스명과 이름이 같다.
8> 메소드와의 공통점 : 매개변수, 지역변수, this 등의 문장을 정의할 수 있다.
9> 생성자의 목적 :필드변수 초기화의 목적이기 때문에, 객체 생성시 최초 1회 실행된다.
10> 정리하면 생성자는 객체의 초기화 역할을 하는 특수한 메소드이다.
11> 1개 클래스 내부에 여러개 생성자를 정의가 가능하다 : 생성자 overloading
** 메소드
[m] 리턴 타입 이름([매개변수]){
기능 구현 문장들;
}
** 생성자
[m] 클래스 이름 ([매개변수]) {
new = 객체 생성 시점에서 수행할 문장들;
}
*참고 ) overloading
- 클래스 명은 같고, 매개변수 타입이나 순서를 다르게 정의하는 함수를 여러개 만들 수 있다.
- 여러 경우의 생성자를 만들기 위해 생성자 overloading 가능
- 변수 구분
메소드나 생성자 = 매개변수 / 지역변수 선언
매개변수와 필드변수 이름 같은 경우 구분하는 목적
3. API
- jdk 설치 내부 라이브러리, API
-170여개 패키지로 구성되어있다.
1) 예
-java.lang.*-->자바 언어 필수/기본/빈번 사용되는 클래스
-java.lang.String 클래스
-java.lang.Integer 클래스
-java.lang.Math 클래스
-java.util.* --> 오라클, Date,Calendar,SimpleDateFormat,
-java.sql.* --> 오라클 db 연동 가능
2)String class
특징 : new 키워드 없이도 객체 생성
주요 메소드:
* equals/equalsIgnoreCase : 문자열 내용이 같은지 확인하는 method:
* s1.concat(s2) :s1뒤에 s2 붙임
* s1. indexOf("java"):"java"라는 문자가 등장하는 첫번째 위치 리턴
* s1.contains("java"):"java"라는 문자가 등장하는지 bool값 리턴
* s1.charAt(0) : 0번째 index 문자를 리턴
* s1.replace('a','b'): 'a'문자를 'b'로 바꿈
* toUpperCase() / toLowerCase() : 대문자/ 소문자로 바꿈
* split():1개 문자열을 여러개로 분할
String [] s = s1.split("분할 기준 문자1 | 분할 기준 문자1 | 분할 기준 문자 3 ");
ex) String addr = "서울시 강남구 역삼동 멀티 1604호" ->String detail[] = addr.split(" ");
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java 2일차] 배열 (0) | 2020.07.20 |
---|---|
[Java 1일차]Java 기본 & 설치 (0) | 2020.07.17 |