ID_DI
DI's study notes
ID_DI
전체 방문자
오늘
어제
  • 분류 전체보기 (85)
    • Deep-Learning (3)
      • CNN (2)
      • NLP (1)
    • Data_Python (6)
      • Numpy (0)
      • Matplotlib (4)
    • Python (8)
      • Python Algorithm (6)
    • Java (36)
      • Java(base) (33)
      • Java practice(base) (2)
    • Git (12)
    • Algorithm (7)
    • etc (7)
    • linux (1)
    • DeskSetup (0)
    • TIL_모각코 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • java 기초
  • java.lang
  • java.net
  • string to int
  • 정렬
  • 알고리즘
  • java base
  • README.md
  • 자바
  • java
  • Python
  • 합병정렬
  • staged
  • git add.
  • Github
  • git
  • 커밋
  • 파이썬
  • binarySearch
  • matplotlib

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ID_DI

DI's study notes

[Java] storage class(저장 기억 부류) : 변수 종류 //지역변수 전역변수 정적 변수
Java/Java(base)

[Java] storage class(저장 기억 부류) : 변수 종류 //지역변수 전역변수 정적 변수

2021. 11. 29. 15:47

Storage Class(저장 기억 부류)

  • 변수의 종류
    • 지역변수 : 메소드 내부에 선언된 변수
    • 전역변수 : 클래스 내부, 메소드 외부에 선언된 변수
    • 정적변수 : static이 붙은 변수

지역변수

이클립스에서 색깔이 갈색

  • 램의 Stack 영역에 생성

  • 직접 초기화 필요

  • }닫는 중괄호 까지 사용가능

  • 보안성 상

지역변수끼리 변수명이 같을수도 있음

전역변수

이클립스에서 파란색 색깔

  • 램의 Data 영역에 생성

  • 자동 초기화

  • 프로그램 종료시

  • 보안성 중

지역변수와 전역변수와 이름이 같을 수도 있음

-> 지역변수를 우선으로 불러옴

정적변수(static)

static 이 붙어있는 main에서나 사용가능

이클립스에서 파란색 이탤릭체

  • 램의 Data 영역 생성

  • 자동 초기화

  • 프로그램 종료시

  • 보안성 하

static (정적)

  • static이 붙은 변수, 메소드, 구역 등은 프로그램 실행시 가장 먼저 메모리에 올라간다.

  • static 이 붙은 전역변수, 메소드는 모든 객체가 공유한다.

  • static 이 붙은 변수는 가장 먼저 메모리에 static 영역으로 이동한다.

  • 객체 안의 static 변수일 경우, 객체가 선언될때 객체안에서 제외된채 생성되고, 메모리의 static 영역에 저장되며, 그것을 공유한다.

  • static 이 붙은 메소드는 내부에서 각 객체의 필드에 올라오는 일반 전역변수와 일반 메소드는 사용할 수 없다.(아직 메모리에 올라오지 않았기 때문에 - static 은 가장 먼저 올라오기 때문에)

  • static이 붙은 전역변수, static이 붙은 메소드, 자기 자신 안에 선언된 지역변수만 사용할 수 있다.

  • 실제로 프로그램 내에서 각 객체가 공유해야 하는 값, 메소드에는 static을 붙여서 사용한다.
  • 공유하지 않아야 하는 값들에는 무조건 static을 붙이면 안된다.

public static void main(String[] args){}' 메인은 가장 먼저 메모리에 올라가고, 실행한다.

'Java > Java(base)' 카테고리의 다른 글

[Java] 상속(inheritance), 자식클래스 생성자, super()  (0) 2021.11.29
[Java] 클래스의 개념, 선언, 사용, 생성자, this  (0) 2021.11.29
[Java] 메소드 Method  (0) 2021.11.29
[Java] 배열(1차원 배열, 2차원 배열)  (0) 2021.11.29
[Java]반복문 : For 문  (0) 2021.11.29
    'Java/Java(base)' 카테고리의 다른 글
    • [Java] 상속(inheritance), 자식클래스 생성자, super()
    • [Java] 클래스의 개념, 선언, 사용, 생성자, this
    • [Java] 메소드 Method
    • [Java] 배열(1차원 배열, 2차원 배열)
    ID_DI
    ID_DI
    Computer Vision

    티스토리툴바