int a; a = 10; sysout(a); //10 a = 20; sysout(a); //20 이렇게 위와 같은 방식은 변수 1개당 값을 1개밖에 저장하지 못하기 때문에 가장 나중에 선언한 값으로 변경된다. 그럼 이 10 과 20 모두 변수 a 에 담는 방법은 없을까? 이 방법이 바로 자바의 배열이다. 배열 배열은 집합 데이터의 처리를 수월하게 해준다. 하나의 배열에 여러개의 값을 저장할 수 있지만, 이들의 타입이 동일해야 한다. 배열의 크기는 고정되어 있고, 배열의 각 방은 자동으로 초기화가 된다. 배열 선언 int [] a; char [] b; (타입명) [] (변수이름); 배열 생성문 a = new int [5]; //int 한 개를 담을 수 있는 방을 5개 만들어라 b = new char [3..
자바 메모리 이름 static 정적 메모리 heap 배열, 객체가 사용함. new 등이 저장된 메모리이다. 주소로만 접근하지만 Java에서는 시스템이 자동으로 관리한다. stack 메서드 (= 함수) 가 사용한다. 변수 이름으로 접근한다. 메모리는 주소값이 있고, 이 주소에 쉽게 접근하기 위해 변수 이름을 사용한다. 메모리 정의 static 정적 멤버 heap 객체, 배열 stack 메서드 지역변수 우리가 만든 클래스는 static 영역에, new 연산을 통해 생성된 일반 멤버 변수의 객체는 heap 영역에 생성된다. 객체마다 메모리를 따로 사용하며, 객체 생성 시 만들어진다. heap 영역의 메모리는 가비지 콜렉터(Garbage Collector) 를 통해 수시로 관리 받는다.
형변환 5.14 + 4, 우리는 바로 9.14 라는 결과를 낼 수 있다. 하지만 컴퓨터는 단순하게 계산이 불가능하다. 컴퓨터의 연산 방식은 복잡하기 때문에 다른 타입의 형태를 같은 형태로 변환해서 계산해줘야한다. 자동 형변환 타입이 서로 다른 값을 연산할 때 자동으로 작은 타입을 큰 타입으로 변환한다. 아래는 타입이 작은 순서부터 나열한 것이다. (정수 -> 실수(클릭 시 정수와 실수 설명으로 연결) 로 변환) byte < short = char < int < long < float < double 연산자는 필요없다. 위와 같은 케이스의 경우 5.14 + 4.0 으로 자동으로 변환되어 계산된다. 강제 형변환 강제로 타입을 변환하는 것이다. 작은 타입에서 큰 타입은 자동으로 변환되지만, 반대의 경우에는 직..
저번 포스팅에서 자바와 오라클 연결하기 하면서 오류가 떴다고 했다. 완전 멘붕... 포맷하면 일이 복잡해져서 최대한 안하려고 몇날며칠 방법을 생각해봤다. 정말 이거저거 다 찾아봤는데도 안됐는데 이번에 어떻게 해결을 하게 되면서 혹여나 도움이 될까 하고 적어본다. 정말 허무하리만치 간단했다. 문제. Class not found 엑박이야 문제 내준 것 연습하느라 떴던 적도 있고, 가장 큰 문제가 아니었다. 컴파일 시에 java.lang.ClassNotFoundException 문제가 떴고, 원래는 몇개의 프로젝트에서만 문제가 되던것이 이거저거 건드리다보니 모든 파일에게로 옮겨간 것이다. (멘붕 시작) 이것저것 찾아보니 좀 해결방법이 어려운 것도 있었고, 쉬운 것도 있었는데 어려운 건 엄두도 못내고 쉬운것만 ..
Java를 이용해 Oracle 에 정보를 넣어주는 방법이다.Oracle 을 배울때는 Oracle 에서 직접 입력해 정보를 넣었는데, 이제 이를 서비스화 하고 간편화? 하기 위해 Java와 연결해 줄 것이다. 왜 이렇게 연결하나 의문이 들었는데, 우리가 회원가입을 진행할 때 아이디, 패스워드 등을 입력하는 창 - 이를 데이터 저장공간(서버)와 연결하는 코드 - 데이터 베이스. 이런 방식이라고 생각하면 된다. 사용자가 직접 select ... 이렇게 입력할 수는 없으니. 나는 이렇게 이해했다. 일단 이 과정이 '왜' 필요한 지에 대한 이해가 필요해서.사용자 화면 (html일듯)데이터 서버와 사용자가 보는 화면을 연결 (Java)데이터 저장하는 서버 (Oracle) 1. DB와 Java 연결 (드라이버 로드..