본문 바로가기

전체 글36

JAVA의 변수(필드) 종류 - 클래스 변수, 인스턴스 변수, 지역 변수 public class test { int num; // 인스턴스 변수 static int numTest; // 클래스 변수 public void testM(){ int numM; // 지역변수 } } #인스턴스 변수 인스턴스가 생성되고나서 인스턴스 변수가 생성됨. 여러 인스턴스(객체)가 있다면 인스턴스 변수는 각 객체마다 가지고 있다( 클래스 변수와 다름 ) #클래스 변수 인스턴스 변수 앞에 static 만 붙여주면 됨. 인스턴스 변수와 달리 모든 인스턴스가 해당 변수의 값을 가지게 됨. 클래스가 로딩될 때 생성되어 딱 한 번만 메모리에 올라간다. 그래서 인스턴스를 생성할 필요가 없으므로 클래스명.클래스변수로 접근 가능하다. #지역 변수 메소드 내에서 선언되어 메소드가 끝나면 소멸된다. 2019. 9. 18.
스택과 힙 ( + 가비지 컬렉션 ) 자바를 쓸 때 두 가지 메모리 공간을 다룬다. #힙 - 객체가 사는곳 크기가 정해져 있지 않음. 객체, 배열, 인터페이스 등의 크기가 정해져있지 않은 값들을 주소형식으로 메모리에 저장. 참조하는 변수가 없다면 자동으로 힙 영역에서 제거된다. 몇 개의 스레드가 존재하던 단 1개의 heap 영역만 존재한다. #스택 - 메소드 호출과 지역변수가 살아가는 곳 기본형 변수처럼 크기가 정해지는 실제값을 저장한다. 메소드 작업이 종료되면 메모리 공간이 비워지며 반환된다. 스레드마다 stack이 존재한다. #가비지 컬렉션 힙 영역의 올려진 데이터가 있는데, 스택 영역에서 해당 힙 영역의 참조주소를 잃어버리면 힙 영역의 올려진 데이터는 쓰레기 값이 되어 가바지 컬렉션이 정리해버린다. 2019. 9. 18.
클래스, 인스턴스, 객체 간단 정리 #1 클래스 객체를 구현하기 위한 설계도. 건축물의 설계도... #2 인스턴스 소프트웨어 세계에 구현된 실체. 실제 구현하려고 하는 객체 같은 것을 소프트웨어 세상에 구현한 것. #3 객체 소프트웨어 세계에 구현할 대상. 인스턴스도 포함되며 추상적인 인스턴스의 개념. 객체가 코딩이되어 만들어지면 인스턴스가 됨. 2019. 9. 9.
[철학을 권하다] - 다시 읽을 때마다 새로운 생각을 하게되는 책 첫 번째 읽었을 때와 두 번째 읽었을 때 느낌이 다른 책이었다. 두 번째 읽었을 때가 읽는 시간도 오래 걸렸고 생각도 많이 했다. 얻는 깨달음들도 많았고 가치관도 많이 바뀌고 습관마저 바뀌었다. 일단 이 책은 옛날 철학자들의 이야기를 처음 철학을 접하는 사람들도 이해하기 나름 쉽게 풀어낸 책이라고 생각한다. 나도 철학을 잘 모르고 처음 듣는 철학자들의 이름도 수두룩하다. 하지만 그 모르는 철학자들이 하는 얘기들은 나도 알고 있고 이해 가고 공감되는 부분들이 많았다. 그래서 내 삶에 녹여내어 공감하면서 읽었고 재미있었다. 두 번째로 읽고 나서야 삶에서 습관이 바뀌었다. 바뀐 부분은 소식(적게 먹기), 운동, 금연이다. 통칭 자제력이라고 생각한다. '자제력도 근육처럼 훈련이 필요하다'라는 생각이 뇌리에 박히.. 2019. 9. 8.