본문 바로가기

java

(3)
java : 문득 왜 로컬변수는 초기화를 안할까에 대한 생각. field variable. heap memory에 올라가는 변수.local variable. stack memory에 올라가는 변수. heap, static memory에 올라가는 기본형 변수들은 초기화가 된다.그러나 stack memory에 올라가는 변수들은 초기화되지 않는다. stack memory 의 특성은 push, pop 등을 하며 어떤 목적을 가지고 계산을 하는데에 쓰이는 메모리.즉, local variable은 프로그래머가 어떤 목적을 가지고 선언을 하며 그 목적은 계산이다.data를 선언할 때 이미 목적을 가지고 있기 때문에분명 data를 할당할 것이라 생각하기때문에 설계차원에서 초기화를 하지 않도록 설계되었다. (내 생각)대신 heap memory에는 기본으로 초기화를 해준다.그 값이 ..
java : 구성(composition)과 위임(delegation) 구성, 위임 등은 headfirst OOA&D 에서 자주 상기되던 개념입니다. 구성이라는 것은 클래스가 다른 클래스를 인스턴스 변수로 가진다는 의미로 보실 수 있으며 위임은 클라이언트 코드에서 구성하고 있는 인스턴스 변수 객체(말이 어렵네요. 참조객체라고 하면 쉬울까요 ㅎㅎ;) 를 통하여 메소드 호출 등을 말하는 것입니다. 아마 수개월전에 headfirst OOA&D 학습하면서 끄적였던 것 같은데 이 주제를 다시 또 다루는 이유는 요즘 보고 있는 책에서 꽤 강하게 주장하고 있어서 적습니다. 서적 이름은 thinking in java라는 서적인데, 모두 읽은 것은 아니지만 headfirst java + OOA&D 느낌이 좀 있네요. headfirst 시리즈가 쉬운 용어들과 재밌는 사진들을 이용해서 거부감을..
[링크] eclipse에서 F3 키 혹은 ctrl+마우스 좌클릭하여 jre 클래스파일이 아닌 java소스로 접근하기. java 프로그래밍을 하다보면 원천 소스자체가 궁금할 적도, 알아야할 필요가 있을적도 있습니다. 이클립스 설치시 별다른 설정을 안잡아주셨다면 아마 해당 클래스(자바) 파일을 쫓아가는 키들을 사용하였을 때 attach source라는 버튼과 함께 인터페이스같은 것만 보여주는 화면을 보게되실 것입니다. 이것은 이클립스 설치시 자동으로 jar파일 위치를 잡으면서 jre의 class 파일들만 물고 있기 때문입니다. 따라서 java 소스를 보기 위해서는 별도의 설정작업이 필요합니다. JDK를 설치하셨다면 JDK 설치폴더 내에 src.zip 파일이 보일 것입니다. 이 zip파일이 java 소스들이 압축되어있는 파일입니다. attach source란 이 zip파일 내에 압축되어있는 java 파일들을 attach하라는..