java
-
(JAVA) 자바 상수 (final) 사용이유와 방법JAVA/컨셉 , 예제 2018. 8. 24. 13:28
3개의 숫자를 입력받아 합계와 평균을 출력하는 프로그램은 다음과 같다. 20번째 줄에서 평균을 구할 때 직접 숫자를 넣어 값을 구하고 있다. 짧은 코드라면 큰 지장이 없겠지만, 코드가 방대해지면 이 3의 의미를 알기 힘들어지고 잘못 수정하는 경우 원하는 결과를 얻지 못할 우려가 있다. 이를 방지하기 위해 3과목의 평균을 구하는 역할만을 한다면 3을 상수로 저장해 이후 수정을 하지 못하도록 final 키워드를 제공하고 있다. import java.util.Scanner; public class Final { void printfSumAndAverage(){ final int CLASS_CNT = 3; Scanner input = new Scanner(System.in); System.out.println(..
-
(JAVA) 자바 형변환 ( Type Casting )JAVA/컨셉 , 예제 2018. 8. 24. 13:27
자바는 숫자를 표기법에 따라 다른 데이터 타입으로 인식한다. int (4 byte) : 10, 20, 30... long(8 byte) : 10L, 20L, 30L... double(8 byte) : 1.2, 10.34, 5.6... float(4 byte) : 1.2F, 10.34F, 5.6F... 10과 10L은 같은 값이지만 데이터의 타입이 달라지기 때문에 취급에 주의를 둬야 한다. long 타입의 변수에 int 타입의 변수를 할당하는 것은 문법적으로 문제가 없지만 int 타입의 변수에 long 타입의 변수를 할당하는 것은 Syntax error가 발생하게 된다. 그 이유에 대해 알아보자. 데이터 타입은 자바에서 매우 중요하다. 변수를 선언한 타입에 맞춰 값을 할당해야 하고, 그렇지 않으면 에러가 ..
-
(JAVA) 자바 클래스와 객체JAVA/컨셉 , 예제 2018. 8. 24. 10:54
프로그래밍을 하는 이유는 특정 문제를 해결하는 절차에 대해 자동화를 해 편하게 하기 위해서라고 생각할 수 있다. 우리는 모든 상황에서 어떤 목표를 위해 필요한 절차를 거친다. 커피를 사는 경우를 생각해보자. 커피를 사기 위해 커피전문점에 들어가 메뉴를 생각하고, 고른 메뉴를 점원에게 주문한다. 점원은 이를 확인하고 결제 방법을 고객에게 물어봐 각기 다른 결제 방법에 따라 다른 방법으로 결제를 돕고 진동벨을 고객에게 준다. 이후 커피를 만들고 진동벨을 울려 고객이 음료를 수령할 수 있도록 한다. 일련의 과정 중 이미 자동화 된 절차들이 굉장히 많고 이러한 것들은 프로그래밍에 의해 이루어졌다고 볼 수 있겠다. 이러한 프로그래밍을 하기 위해 우리는 실세계와 비슷한 개념들을 프로그래밍 언어로 불러와 서로 상호작..
-
(JAVA) 자바 리터럴(Literal) 의미와 용도JAVA/컨셉 , 예제 2018. 8. 24. 10:36
자바에서 실수를 표현하는 Primitive Data Type으로 double과 float가 있다. 두 타입의 차이는 데이터 크기이다. float는 4바이트, double은 8바이트의 크기를 갖고 있다. 과거 메모리가 작았을 때에는 데이터 크기를 최적화 해 사용하는 것이 성능 향상에 큰 도움을 줬다. 하지만 램이 비약적으로 상승한 오늘날 크기가 성능에 큰 영향을 미치지 않게 되었다. 그로 인해 변수의 최적화에 대해 더 집중할 수 있게 되었다. 실수의 경우 자릿수가 많은 것이 보다 정확도를 높이는 데 중요할 것이다. 이를 정밀도라 하며 정밀도는 높은 것이 좋기 때문에 float와 double 중에 더 정밀도가 높은 8바이트의 double형을 주로 사용하게 된 것이다. 실수를 표현할 수 있는 데이터 타입은 f..
-
자바(Java) 외부 프로젝트 공유(Share) 하기JAVA/환경설정 2018. 8. 22. 17:26
다른 프로젝트에서 작성해둔 클래스의 기능을 그대로 가져와 사용하고 싶은 경우 클래스 자체를 복사해오면 되지만 몇가지 경로를 지정해 외부 프로젝트의 객체를 가져와 사용할 수 있다. 대표적으로 적용 가능한 곳이 웹 서버 개발이다. 권한에 따라 사이트 사용자가 사용하는 프론트엔드(Front-end)와 운영자 및 관리자(admin 사용자)가 사용할 수 있는 백엔드(Back-end) 사이에는 공통되는 부분이 상당수 있다. 기본적으로 관리자의 기능은 유저 기능 + @기 때문에 유저의 기능을 모두 가질 것이다. 프론트 엔드에서 기본적인 CRUD에 대한 내용이 프론트엔드의 dao에 있을 것이고 이들을 백엔드에도 복사하는 것은 용량이 커질수록 비효율적이기 때문에 프로젝트를 공유해 가져오는 방식이 좋은 경우가 빈번하다. ..
-
(JAVA) 자바 패키지 & 경로JAVA/환경설정 2018. 8. 22. 17:22
자바 패키지는 리눅스나 윈도우즈의 폴더에 해당하는 개념으로 생각할 수 있다. 자바 패키지를 통해 폴더 및 경로를 구분할 수 있으며, 이를 통해 참조 여부를 정할 수도 있다. 주된 사용 이유와 규칙은 다음과 같다.자바 패키지 사용 이유 1. 정리 가독성 2. 파일 분리(같은 파일명 다른 패키지라면 각각의 패키지에서 사용 가능) 3. 보안 (외부에서 패키지 안의 클래스 참조할 수 없도록 하는 역할) 자바 패키징 규칙 (윈도우즈 파일과 동급) 1. 패키지명 : blog.naver.com 과 같이 .을 통해 단어 및 폴더 구분 (.을 기준으로 다음 폴더 생성됨.) 2. 대문자 X (클래스명과 구분 가능하게. java.util.Scanner) 3. java 예약어 X 4. 숫자 사용 비권장 (작성은 가능) ※ P..
-
(JAVA) 이클립스 Build Path 설정JAVA/환경설정 2018. 8. 22. 17:21
프로젝트 파일을 import 해와도 사용이 되지 않는 경우가 있다. 파일명, 클래스명 등에 문제가 없어보이는데도 말이다. JDK의 버전이 다른 경우 발생하는 대표적인 경우이다. 나는 1.8 버전의 JDK를 사용중인데 받아온 프로젝트가 1.6이나 1.7 버전이라면 에러가 나는 것이다. 이를 맞춰주기 위해 프로젝트들의 JDK의 버전을 나의 이클립스 버전으로 정해주는 절차가 필요하다. 이를 이클립스 Build Path 에서 설정하는 방법 포스팅. 1. 프로젝트에서 마우스 오른쪽 버튼 클릭 - Build Path - Figure Build Path 클릭 2. Libraries 탭 클릭 3. JRE System Library 더블클릭 4. Workspace default JRE 클릭. 프로젝트의 JDK 버전을 내..
-
(JAVA) 윈도우 소스트리(Source Tree) 이용 깃허브(Github) 사용법JAVA/환경설정 2018. 8. 22. 17:18
팀단위 프로젝트 시 파일들 관리를 원활하게 돕는 깃허브(Github) 사용법에 대해 포스팅. CLI가 익숙하다면 명령어를 통해 사용하는게 가장 오류도 적고 편하지만, 웹프로그래밍부터 시작하는 비전공자의 경우 명령어들 익숙해지는데도 한 세월이 걸리기 때문에 윈도우 환경에서 깃 관리기능을 제공하는 툴(소스트리)을 사용하는 방법을 공유. 소스트리를 사용해서 연동시키기 때문에 소스트리가 설치되어 있어야 한다. 사전 포스팅한 소스트리(Source Tree) 설치 & 다운 포스팅 참조. https://github.com/ 1. 깃허브 로그인 후 New Repository 클릭한다. 2. Repository명과 Public, README 생성란을 선택한 후 Create Repository 클릭. Public / Pr..