public static void def_sum_1(int a)
public void def_sum_2(int a)
위 두 가지 함수를 실행시킬때, def_sum_1 의 경우 메인에서 객체를 따로 생성하지않고,
c처럼 함수명과 필드값을 입력해주면 정상적으로 컴파일이 된다는것을 확인했습니다.
그런데, def_sum_2 의 경우, 반드시 객체를 생성해준후,
객체명과 함께 함수명을 호출해야지 정상적으로 컴파일이 되더군요.
static이라는것이 문제인거같아서 검색해보니까 정적메모리할당? 뭐 이런거던데 위키에 나와있는 용어들로는 이해하기가 좀 난해하더라고요.. 쉽게
풀어서 이야기해주실 프갤럼님 구합니다 ㅠㅠ
static은 쉽게 말해서 객체의 변수나 메서드를 객체 인스턴스에서 쓰도록 만드는 게 아니라 객체 클래스 자체에 만든다는 뜻임. 그래서 굳이 개체(instance)를 생성하지 않고서도 그냥 클래스 이름만으로 변수와 메서드에 접근이 가능. 다만 이런 특성 때문에 static이 붙은 메서드 내에서는 this 객체의 변수나 메서드 접근 시 static이 붙은 걸로만 접근할 수 있음.
스태틱은 이미 만들어 놓겠다는 이야기 .. 사실 스태틱 단검은 유령무희보다 안조음
병슨들 설명 하고는 ㅋㅋㅋ ... oop개념 중 클래스 메써드와 인스턴스 메써드가 있다.