Java

2024년 6월 11일 KH 교육 전 Java 예습 : static, interface,

최종군 2024. 6. 6. 22:37

static :

키워드는 클래스 변수, 클래스 메서드 정적 블록,  정적 중첩 클래스 이용 때 사용이 되는 키워드이다 

 

 

class MyMastStaticBasic{
    public static  String description = "static 변수";

 

static 변수는 한 클래스에서 공통적인 값을 유지해야할때 선언한다 

클래스가 메모리에 로딩될 때 생성되어 프로그램이 종료될 때까지 유지된다 

객체를 생성하지 않고 '클래스이름.변수명'으로 호출이 가능하다 

 

 

public static long add(long a, long b) { return a + b; }

 

static 메서드 static 메서드는 인스턴스 변수(멤버 변수)를 사용할 수 없다 

매개 변수는 사용이 가능하다 

 

 

class Counter{
    static int count = 0; // static 변수 
    Counter(){
    count++; // count 객체 변수가 아니므로 this 제거
    System.out.println(count);
    }
    public static int getCount() { // static 메서드 
        return count;
    }
}

 

 

static 변수는 this를 사용하지 않는다 객체 변수가 아니므로 

static 메서드는 class.method로 호출이 가능하다  

 

 

interface : 

 

public interface Animal {
    void eat();
    void sleep();
}

 

 

인터페이스는 클래스와 비슷하지만, 구현되어야 할 메서드의 서명만 포함하고 

실제 구현은 하지 않는다 interface는 키워드이다 

 

인터페이스 구현은 implements 키워드를 통해서 사용하며

인터페이스에 정의된 모든 메서드를 구현해야 된다

 

 

public class Dog implements Animal {
    public void eat() {
        System.out.println("The dog is eating.");
    }
    
    public void sleep() {
        System.out.println("The dog is sleeping.");
    }
}

 

 

class dog가 인터페이스 Animal을 상속했다 

 

public interface Animal {
    void eat();
}

public interface Pet {
    void play();
}

public class Dog implements Animal, Pet {
    public void eat() {
        System.out.println("The dog is eating.");
    }
    
    public void play() {
        System.out.println("The dog is playing.");
    }
}

 

인터페이스는 다중 상속을 지원한다 

 

 

나중에 용어 헷갈리면 다시금 찾아 보기 

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

 

[자바/JAVA] 자바의 변수종류 (멤버변수 vs 지역변수, 인스턴스멤버 vs 정적멤버) (velog.io)