21일차 시작....

조동현·2022년 7월 29일
0

[교육] Java

목록 보기
6/12
post-thumbnail

📌 Array 안에 여러 자료형

  • Object 타입
    Array 내부에 여러 자료형의 데이터를 넣기 위해서는 Array를 Object 타입으로 선언한다.


📌 Abstract

  • 추상 클래스(추상 메소드)
    - 특정 메소드가 미완성된 상태를 의미한다.
    - 해당 유틸리티나 프레임워크를 사용하는 개발자가 해당 메소드만큼은 본인의 용도에 맞게끔 사용하기 위해 추상 클래스를 사용한다.
    주의 사항) 추상 메소드가 하나라도 있으면 해당 클래스는 추상 클래스로 변경된다.
// 추상 클래스
public abstract class Weapon {
	// 일반 메소드
	public void prepare() {
		System.out.println("무기 준비 중");
	}
    
    // 추상 메소드
	public abstract void attack();
}
  • 객체 생성
    - 클래스 타입으로서는 완벽하다.
    - 추상 클래스는 new 생성자() 를 할 수 없다. (객체 생성 불가)
    • 해결 방법
      1. 자식 클래스에서 상속을 한다.
      2. 추상 클래스의 추상 메소드를 자식 클래스에서 Override 한다.
      참고 사항) 자식 객체로 만든 부모 타입의 변수에서는 자식 객체의 Override된 메소드를 호출할 수 있다.


📌 내부 클래스

  • 내부 클래스
    - 클래스 내부에 선언한 클래스

- 형식1

Zoo z = new Zoo();
Zoo.Monkey m1 = z.getMonkey();
m1.say();

- 형식2

import test.pack.Zoo.Tiger;
Zoo z = new Zoo();
Tiger m1 = z.getMonkey();
m1.say();


📌 지역 내부 클래스

  • 지역 내부 클래스
    - 메소드 내부에 선언한 클래스

- 형식

public static void main(String[] args) {
	class Missile extends Weapon {
		@Override
		public int attack(int hp, int bullet) {
			System.out.println("Missile공격");
			return 0;
		}
	}
}


📌 Interface

  • interface
    - 추상 메소드만 존재하는 인터페이스
    - 메소드 모양이 완벽하므로 데이터 타입이 가능하다.
    주의 사항) 인터페이스는 상속(extends)이 아니라 구현(implements)하는 것이다.
    주의 사항) 인터페이스는 여러 interface를 구현(implements)할 수 있다.
    주의 사항) 필드는 static final 필드만 가질 수 있다.

- 형식

public interface V {
	// 필드는 static final 필드만 가질 수 있다.
	public static final String COMPANY="DANGGUEN";
    
	public void V1();
	public void V2();
}


📌 final

  • final
    - 필드나 지역 변수에 final 이라는 예약어를 붙이면 변수가 아니고 상수가 된다.
    - 상수는 값이 변경되지 않는 것을 의미한다.
    - final 지역 변수나 필드는 모두 대문자로 표기한다.
final int NUM = 10;
final String NAME = "aa";
final V A2 = new V2();


profile
데이터 사이언티스트를 목표로 하는 개발자

0개의 댓글