Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. class Testing3 {
  2.     int num1 = 10;
  3.     static int num2 = 20;
  4.    
  5.     void prn() {
  6.         System.out.println("prn()");
  7.         System.out.println(num2); //인스턴스 메서드 안에서는 정적 변수를 아무 문제없이 사용 가능
  8.         staticPrn(); //정적 메서드또한 아무 문제없이 사용 가능
  9.     }
  10.    
  11.     static void staticPrn() {
  12.         System.out.println("staticPrn()");
  13.         // System.out.println(num1); 에러!! 정적 메서드 내부에서 인스턴스 변수를 사용할 수 없음
  14.         // prn(); 위와 마찬가지로 정적 메서드 내부에서 인스턴스 메서드 또한 사용 불가!
  15.     }
  16. }
  17.  
  18. public class StaticTest3 {
  19.  
  20.     public static void main(String[] args) {
  21.         //클래스명을 통해 정적 메서드에 바로 접곤
  22.         Testing3.staticPrn();
  23.        
  24.         System.out.println("====================");
  25.        
  26.         //인스턴스 메서드에 접근하기 위해 객체 생성
  27.         Testing3 t = new Testing3();
  28.         t.prn();
  29.        
  30.         System.out.println("====================");
  31.        
  32.         t.staticPrn(); //객체를 통해서도 정적 메서드나 변수에 접근은 가능하나 비효율적임
  33.     }
  34.  
  35. }