Java_Static메소드, Instance메소드

SG Jang·2021년 1월 23일
0

길잡이를 자바보자

목록 보기
3/12
post-thumbnail

이번 시간에는 "Java_Static메소드, Instance메소드"에 대해 다뤄보겠습니다.


  • 클래스 - 인스턴스(객체)
    붕어빵틀 - 붕어빵
    자동차틀 - 소나타, 그랜져,...

  1. 스태틱메소드 = 클래스메소드 = 정적메소드
  • static이 붙어있는 메소드
  • 인스턴스(객체)를 사용하지 않아도 사용가능
  • 인스턴스 멤버를 사용할수없음(=클래스 인스턴스 정보는 접근이 불가능하다., 스태틱메소드 안에서는 객체(인스턴스)변수 접근이 불가능하다.)
  • 클래스 자체에 바인딩 된 메소드(인스턴스에서 호출 불가)
  • 클래스 자체를 암묵적인 첫번째 파라미터로 넘겨받음
  • 함수 안에서 클래스 자체에서 들고 있는 모든 정보에 접근이 가능(= 메소드 내에서 클래스 상태를 변경할 수 있으며 이는 현재 메모리에 올라가 있는 해당 클래스의 모든 인스턴스에 영향을 줄 수 있다. 그래서 클래스 메소드 생성시 매우 주의해야함.)
  • 사용예시(Math 클래스의 pow(), random(), max(). Min()을 이용할 때 클래스명.함수명()하고 호출)
    int x, y;
    Math.pow()

  1. Non스태틱메소드 = 인스턴스메소드 = 일반메소드
  • static이 안 붙어있다.
  • 항상 인스턴스(객체)에 포함되어 있으며, 인스턴스(객체)를 정의해야 호출할 수 있다.
  • 멤버변수 중 모든 인스턴스에 공통 사용하는 메소드
  • 메소드 작업 수행시 인스턴트 변수를 필요로 하는 메소드
  • 사용예시(스캐너 클래스를 선언하고 생성한 뒤 메소드 사용시 객체.함수명()하고 호출)
    int n;
    Scanner scan = new Scanner(System.in);
    n = scan.nextInt();

0개의 댓글