fork(52) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7.  
  8. class C1{
  9. static int static_variable = 1;
  10. int instance_variable = 2;
  11. static void static_static(){
  12. System.out.println(static_variable);
  13. }
  14. static void static_instance(){
  15. // 클래스 메소드에서는 인스턴스 변수에 접근 할 수 없다.
  16. //System.out.println(instance_variable);
  17. }
  18. void instance_static(){
  19. // 인스턴스 메소드에서는 클래스 변수에 접근 할 수 있다.
  20. System.out.println(static_variable);
  21. }
  22. void instance_instance(){
  23. System.out.println(instance_variable);
  24. }
  25. }
  26. class ClassMemberDemo {
  27. public static void main(String[] args) {
  28. C1 c = new C1();
  29. // 인스턴스를 이용해서 정적 메소드에 접근 -> 성공
  30. // 인스턴스 메소드가 정적 변수에 접근 -> 성공
  31. c.static_static();
  32. // 인스턴스를 이용해서 정적 메소드에 접근 -> 성공
  33. // 정적 메소드가 인스턴스 변수에 접근 -> 실패
  34. c.static_instance();
  35. // 인스턴스를 이용해서 인스턴스 메소드에 접근 -> 성공
  36. // 인스턴스 메소드가 클래스 변수에 접근 -> 성공
  37. c.instance_static();
  38. // 인스턴스를 이용해서 인스턴스 메소드에 접근 -> 성공
  39. // 인스턴스 메소드가 인스턴스 변수에 접근 -> 성공
  40. c.instance_instance();
  41. // 클래스를 이용해서 클래스 메소드에 접근 -> 성공
  42. // 클래스 메소드가 클래스 변수에 접근 -> 성공
  43. C1.static_static();
  44. // 클래스를 이용해서 클래스 메소드에 접근 -> 성공
  45. // 클래스 메소드가 인스턴스 변수에 접근 -> 실패
  46. C1.static_instance();
  47. // 클래스를 이용해서 인스턴스 메소드에 접근 -> 실패
  48. //C1.instance_static();
  49. // 클래스를 이용해서 인스턴스 메소드에 접근 -> 실패
  50. //C1.instance_instance();
  51. }
  52.  
  53. }
Success #stdin #stdout 0.06s 380224KB
stdin
Standard input is empty
stdout
1
1
2
1