equals=문자열비교 (내용만비교)
== 는 완전히 같은 것인지 비교할떄(주소까지)
equalsIgnoreCcase() = 대소문자 구별 x
swithc(조건식){
case 값1:
break;
}
do{
}while(); (끝에 ; 잊지 않도록 주의)
break = 해당 메서드 빠져나온다.
break: (이름)= 둘다 빠져나옴. /ex) loop:for ~~
continue = 반복문 끝으로 이동, 다음 반복으로 넘어간다.
1.int [] arr= new int[5] = 01234 index
2. int 배열 기본 0으로 초기화
3. 길이가 0 인 배열도 생성 가능.(배열 길이는 양의정수(0포함))
4.배열의 길이는 변할수 x / 더큰배열 새로생성 or 기존 새로운 배열에 복사
5. Arrays.toString(배열이름)/char배열은 구분자 없이 출력된다
6. System.arraycopy(num, 0번쨰부터 , newNum에복사, 0번쨰부터, num.length만큼);
7. 배열에는 실제 데이터가 아닌 주소 가 들어있다.
1.읽을수만 있을 뿐 변경 x
2. 주요 메서드
-메서드 영역
-힙
-호출스택(call stack)
※ 인스턴스 변수나,메서드를 사용하지 않는 메서드 =static 메서드
※ 클래스의 맴버변수 중 모든 인스턴스에 공통된값을 유지해야 하는것
※ static 메서드 인스턴스변수 사용 x
~은 ~이다 (is-a) = 상속
~은 ~을 가지고 있다(has a)= 포함
1.조상 클래스 메서드 접근제어자보다 좁은범위 x
2. 조상 클래스의 메서드보다 많은 예외 선언 x
모든 생성자의 첫줄은 super() or this () 이다
1.private = 같은 클래스 내에서만 접근 가능
2.protected = 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근 가능
3. 생성자에도 접근제어자 가능
매개변수로 조상형이 오면 그 자식들 대입 가능하다.
Product p1 = new Tv();
Product p2 = new Radio();
Product p3 = new Computer();
product p[]=new product[3];
p[0] = new TV();
p[1]= new Radio();
p[2]=new Computer();
-추상클래스 상속받은 자손클래스는 오버라이딩을 통해 메서드 모두 구현해야함
-추상클래스도 생성자가 있다.
-다중상속 가능
-static 메서드와 default 메서드,private 메서드 사용 가능.
-추상메서드와 상수로만 이루어짐
-서로 관계없는 클래스들에게 관계를 맺어줄수 있다.
-private 메서드는 정적메서드,디폴트메서드 를 통해 사용한다.
※리턴 타입이 인터페이스라는 것은 메서드가 해당 인터페이스를 구현한 클래스의 인스턴스를 반환한다는 것을 의미한다.
디폴트 매서드와 조상클래스의 메서드 간의 충돌
-조상 클래스의 메서드가 상속되고, 디폴트는 무시된다
-오로지 단하나의 클래스를 상속받거나 / 단하나의 인터페이스만 구현
-조상클래스 이름이나 /인터페이스 이름을 사용하여 정의
-일회용
EX) Action=추상클래스
Action ac= new Action(){
@override
메서드
}