JAVA method

부록 2 - static

수업소개

메소드를 정의할 때 항상 보이던 static이 무엇인지 소개하는 수업입니다. 객체 지향과 함께 살펴봐야 완전히 이해할 수 있는 수업입니다. static의 의미가 궁금하신 분들을 위해서 만든 수업이니 안보셔도 됩니다. 

 

 

 

강의

소스코드

class Print{
    public String delimiter;
	public void a() {
		System.out.println(this.delimiter);
		System.out.println("a");
		System.out.println("a");
	}
	public void b() {
		System.out.println(this.delimiter);
		System.out.println("b");
		System.out.println("b");
		
	}
	public static void c(String delimiter) {
		System.out.println(delimiter);
		System.out.println("b");
		System.out.println("b");
	}
}
public class staticMethod {
	
	public static void main(String[] args) {
//		Print.a("-");
//		Print.b("-");
		
		// instance
		Print t1 = new Print();
		t1.delimiter = "-";
		t1.a();
		t1.b();
		Print.c("$");
		
		
//		Print.a("*");
//		Print.b("*");
		
		Print t2 = new Print();
		t2.delimiter = "*";
		t2.a();
		t2.b();
	}
	

}

 

댓글

댓글 본문
  1. Setagaya
    static 키워드를 넣어 만든 변수나 메소드는 클래스를 통해 사용하는 사람들을 위함인가?
    -> 값이 저장됨.

    static 키워드를 넣지 않고 만든 변수나 메소드는 인스턴스를 만들어 사용하는 사람들을 위함인가?
    -> 인스턴스를 만들어 사용해서 그런지 값이 저장되지 않음.

    클래스에 만드는 변수나 메소드가 어떤 형태로 사용될지를 미리 생각하고 만들어야 하는 것 같다.
  2. 당당
    2023.04.20
  3. labis98
    20230202 완료
  4. 희짱
    클래스 소속일땐 스태틱, 인스턴스 소속일땐 스태틱 제외
  5. Min Jupiter
    221227
  6. 보통사람 박코딩
    할수있다
  7. whoami
    22.9.26 완
  8. static이 있는 메소드 -> 클래스에 속한 메소드
    ex) public static void a(){
    ~~}

    static이 없는 메소드 -> 클래스의 분신인 인스턴스에 속한메소드
    ex) public void b(){
    ~~}

    Print t1 = new Print();
    t1.b();
  9. 육도
    2022.05.14 완료
  10. 포포
    어렵다
  11. 열정jk
    220220 감사합니다
  12. 나연
    2022년 2월 12일 (토) 완료

    `static`: class method
    non-static: instance method

    메소드가 인스턴스의 소속일 때는 `static`을 빼야 함
    메소드가 클래스의 소속일 때는 `static`이 있어야 함
  13. 김나루
    22-01-25
  14. 김보노
    22-01-22
  15. 2021.08.28 완료
  16. labis98
    20210812~~~ 설명이 너무 깔끔해요~~~ 정말 쵝오~~~~!!^^
  17. 이마누
    완료
  18. super1Nova
    210807
  19. Jaemin Lim
    21.07.24 Method 완료
  20. 본좌
    메서드 끝
  21. B=loom
    21.07.18
  22. 초딩 개발자
    2021/06/24
  23. jeisyoon
    2021.05.01 Static : Class Method, no Static : Instance Method - OK
  24. anya422
    done!
  25. 레이
    21.04.13
  26. chimhyangmoo
    21.04.09
  27. 김궐궐
    완료
  28. oyuiw
    20201213
  29. 제예솔
    메소드를 정의할 때 static 이 있으면 class의 소속, 메소드를 정의할 때 static 이 없으면 instance의 소속.
  30. 안광민
    class Print {
    public String delimiter;
    public void a() {
    System.out.println(this.delimiter);
    System.out.println("a");
    System.out.println("a");
    }
    public void b() {
    System.out.println(this.delimiter);
    System.out.println("b");
    System.out.println("b");
    }
    public static void c(String delimiter) {
    System.out.println(delimiter);
    System.out.println("c");
    System.out.println("c");
    }

    }

    public class staticMethod {
    public static void main(String[] args) {

    Print t1 = new Print();
    t1.delimiter = "-";
    t1.a();
    t1.b();

    Print t2 = new Print();
    t2.delimiter = "*";
    t2.a();
    t1.b();

    Print.c("$");
    }

    }

    static
    static이 있는 건 class의 method이다.
    no static은 instance의 method이다.
    method가 instance 소속일때는 static을 빼야 한다. 반대로 class 소속일때는 static을 넣어야 한다.

    완료
  31. 빗소리
    좋은 강의 감사합니다.
  32. hyuna lee
    감사합니다.
  33. 방동혁
    강의가 너무 아름 답네요. 프로그램이 하나의 예술의 경지로 들리니다. 감사
  34. this를 써도 안써도 결과값이 같은데 쓰는 이유는 무엇일까요..
  35. 용자
    선생님.. 전 언제 선생님..같이 될까요. 흑흑
  36. 라또마니
    메소드가 클래스의 소속일때는 static 넣어주고
    메소드가 인스턴싀의 소속일때는 static 를 빼 주세용~~~
  37. 이기호
    감사합니다.^^
  38. 쑤우
    감사합니다. 조금이나마 이해가 됩니다.
  39. 허공
    감사합니다!
  40. onesuit
    객체지향듣고와서 더 잘 정리되고 좋네요. 감사합니다.
  41. Lizzy
    선생님 덕분에 자바를 조금이라도 이해하게 되었습니다...!
  42. Tom Peters
    감사합니다