프로그래밍 언어/Java26 728x90 반응형 [자바] 표준 입력과 표준 출력 동영상 설명 15강. 표준 입력과 표준 출력 표준 입력과 표준 출력 표준 입력과 표준 출력은 운영체제와 장치 사이에 사용하는 통신 방식인 표준 스트림을 통해 입력과 출력을 행하는 것을 말한다. 표준 입력의 대표적인 예로 키보드가 있으며 표준 출력의 대표적인 예로 모니터가 있다. 자바의 표준 입력 자바에서 표준 입력은 콘솔에 키보드로 값을 입력하는 행위가 대표적이다. 이를 자바 코드로 구현하면 아래와 같다. int variable = System.in.read(); System.out.println(variable); 예제 소스 코드 주소: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/io/SystemI.. 2023. 10. 24. [자바] 상수(Constant)와 열거(Enumeration) 관련 동영상 14강. 상수와 열 상수와 열거 자바에는 상수라는 개념과 열거라는 개념이 있다. 변수 대신에 특정 명칭을 특정 숫자에 고정하여 사용하는 것을 상수라고 하며 그렇게 선언된 자료구조를 상수형이라고 말한다. 열거는 상수를 나열한 것을 말한다. 상수를 나열한 자료 구조를 열거형이라고 말한다. 상수의 필요성 사람이 숫자로 의미를 직관적으로 파악하는 것에는 한계가 있다. 개발 또는 유지보수할 때 높은 생산성을 위해서는 특정 명칭으로 값을 입력하는 방법이 더 유리하다. 아래의 예시 사진을 보면 'KEY'라는 이름은 숫자 123456인 상수를 의미한다. 열거의 필요성 같은 분류이고 값을 구분해야 하지만 특정한 값일 필요가 없는 경우 열거형을 사용하면 간편하다. 아래의 예시 사진을 보면 계절이라는 열거형에 .. 2023. 10. 16. [자바] 배열(Array) 관련 동영상 13강. 배열(Array) 배열 자바에서 배열은 같은 자료형과 같은 성질의 값으로 이루어진 일련의 값들을 말한다. 배열의 필요성 같은 자료형으로 이루어진 같은 성질의 값들을 필요할 때 마다 변수로 하나씩 선언하는 것은 생산성을 저하되는 문제가 있다. 이런 상황에서는 배열로 한 번에 선언하는 것이 훨씬 효율적이다. 배열 선언 아래와 같은 문법으로 배열을 선언할 수 있다. 그 예시는 아래의 사진과 같다. {자료형}[] {변수명} = new {자료형}[{길이}]; 배열 초기값 설정 아래와 같은 문법으로 배열의 초기값(초깃값)을 배열 선언과 함께 설정할 수 있다. {자료형}[] {변수명} = { {값}, {값}, ... } 배열의 값 읽기 배열에 있는 값을 읽는(접근하는) 방법은 아래와 같다. 인덱.. 2023. 8. 28. [자바] 제어문(Control Statement) 동영상 설명 7강. 자바에서 제어문이란 제어문이란 제어문(Control Statement)은 특정한 조건식(Condition expression)에 따라 동작하는 문법을 말한다. 조건식의 결과가 참이면 연산을 수행하고 거짓이라면 연산을 수행하지 않는다. 제어문은 조건문과 반복문으로 구분한다. 조건문과 반복문 자바에서는 조건문은 if와 switch가 있으며 반복문은 for, while, do-while가 있다. 사용법은 아래와 같다. if 조건문 if 조건문에 대한 설명은 아래의 글을 참고한다. "[자바] if 조건문", 20203년 8월 18일. @원문보기 switch 조건문 switch 조건문에 대한 설명은 아래의 글을 참고한다. "[자바] switch 조건문", 20203년 8월 18일. @원문보기 .. 2023. 8. 18. [자바] switch 조건문 동영상 설명 9강. switch 조건문 switch 조건문 switch 조건문은 아래와 같은 문법으로 구현할 수 있다. switch( {변수} ){ case {값}: // 실행할 코드 break; case {값}: // 실행할 코드 break; default: // 실행할 코드 break; } switch 조건문 예제 위의 문법으로 switch 조건문을 구현한 예제는 아래와 같다. 예제 소스 코드 주소: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/statement/SwitchExample.java int a = 3; switch(a) { case 3: System.out.println("변수 a의 값.. 2023. 8. 18. [자바] do-while 반복문 동영상 설명 11강. do-while 반복문 do-while 반복문 do-while 반복문은 아래와 같은 문법으로 구현할 수 있다. do { // 실행할 코드 } while( [조건식] ); do-while 반복문 예제 위의 문법을 활용하면 아래와 같은 반복문 예제를 만들 수 있다. 예제 소스 코드는 아래의 주소에서 확인할 수 있다. 예제 소스 코드 주소: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/statement/DoWhileExample.java int a = 3; int b = 4; do { System.out.println("변수 a의 현재값: " + a); System.out.println.. 2023. 8. 18. [자바] while 반복문 동영상 설명 10강. while 반복문 while 반복문 while 반복문은 아래와 같은 문법으로 구현할 수 있다. while( [조건식] ) { // 실행할 코드 } while 반복문 예제 이러한 문법을 고려하여 while 반복문을 구현한 예제는 아래와 같다. 예제 소스 코드는 아래의 주소에서 확인할 수 있다. 예제 소스 코드 주소: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/statement/WhileExample.java int a = 3; int b = 4; while(a 2023. 8. 18. [자바] for 반복문 동영상 설명 12강. for 반복문 for 반복문 for 반복문은 아래와 같은 문법으로 구현한다. 변수초기값과 조건식, 마지막에 수행될 코드는 선택 사항이며 입력하지 않아도 동작한다. for( [변수초기값] ; [조건식] ; [괄호 안의 코드가 수행되고 마지막에 수행될 코드] ) { // 수행 내용 } for 반복문 예제 위의 문법을 고려하여 for 반복문을 구현한 예제는 아래의 사진과 같다. 예제의 소스 코드는 아래의 주소에서 확인할 수 있다. int a; int b; for(a = 3, b = 4; a 2023. 8. 18. [자바] if 조건문 동영상 설명 8강. if 조건문 if 조건문 if 조건문은 if와 else if, else로 구성된다. 너무 긴 조건식과 너무 많은 else if를 사용하는 경우에는 가독성과 유지보수성이 떨어지기에 주의해서 사용해야 한다. if(조건식) { // 동작할 코드 } else if (조건식) { // 동작할 코드 } else { // 동작할 코드 } if 조건문 중첩 아래와 같이 if 조건문을 중첩할 수도 있다. if 조건문의 중첩은 가독성과 유지보수성이 떨어질 수 있기에 주의해서 사용해야 한다. if(조건식) { if(조건식) { if(조건식) { // 동작할 코드 } else if (조건식) { // 동작할 코드 } else { // 동작할 코드 } } else if (조건식) { // 동작할 코드 } e.. 2023. 8. 18. 자바의 연산자 동영상 설명 6강. 자바의 연산자 연산자 자바에는 계산을 명령하기 위한 연산자(Operator)가 있다. 대표적인 연산자로 산술 연산자(arithmetic operator)와 논리 연산자(Logical Operators)가 있으며 본 글에서는 이를 설명한다. 연산자 예제 소스 코드: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/operator/OperatorExample.java 산술 연산자 산술 연산자는 사칙연산(덧셈, 뺄셈, 곱셈, 나눗셈)을 다루는 연산자를 말한다. 덧셈 연산자는 아래와 같이 선언할 수 있다. + 뺄셈 연산자는 아래와 같이 선언할 수 있다. - 곱셈 연산자는 아래와 같이 선언할 수.. 2023. 8. 7. [자바/Java] 형 변환(Type Conversion) 동영상 설명 4강. 자바의 자료형 변환 형 변환이란? 형 변환(Type Conversion)은 자료의 형태를 다른 형태로 만드는 것을 말한다. 필요성 현재의 컴퓨터 시스템은 자료형을 정의하고 이를 기반으로 연산을 수행하는 구조이다. 자료형이 맞지 않는 경우 연산을 수행할 수가 없기 때문에 시스템이 정상적으로 동작할 수 없다. 그러므로 의도된 대로 정상적인 동작을 수행하기 위해서는 형 변환이 필요하다. 자바에서 형 변환 하기 자바(Java)에서 형 변환은 변수명 왼쪽에 '(자료형)'을 입력하면 가능하다. 하지만 모든 경우에 사용할 수 있는 것이 아니고 형 변환이 가능한 경우는 아래의 사진에 나타난 것 처럼 제한적이다. 형 변환을 자바 코드로 구현하면 아래와 같다. 'intValue' 변수 옆에 형 변환 선.. 2023. 8. 5. [IntelliJ IDEA] 인코딩 설정 IntelliJ IDEA에서 아래의 사진처럼 문자가 깨져서 나타나는 경우 인코딩을 설정하면 정상적으로 문자를 볼 수 있다. 전역 설정 IntelliJ IDEA에는 전역으로 자바 가상 머신 옵션을 설정할 수 있다. 'Help' → 'Edit Custom VM Options...'로 이동하면 전역으로 가상 머신 옵션을 설정할 수 있는 화면이 나타난다. 아래의 문자열을 아래의 사진처럼 입력한다. -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 IntelliJ IDEA를 재시작 하면 아래와 같이 문자가 깨지지 않고 잘 나타나는 것을 확인할 수 있다. 지역 설정 실행 설정에 가면 프로젝트별 또는 WAS별 자바 가상 머신 옵션 설정이 가능한데 테스트 해보니 IntelliJ IDE.. 2023. 8. 4. 이클립스의 메모리 문제와 예방하는 방법 이클립스의 메모리 문제 이클립스(Eclipse)의 경우 힙 메모리의 상태를 잘 관찰할 필요가 있다. 이 부분이 이클립스의 최고 약점인 부분인데 필자가 2012년에 자바를 처음 익힐 때부터 지금까지 존재하는 유명한 문제이다. 특히 특정 이클립스 버전과 플러그인에 버그가 있어서 잘 못 동작하는 경우 쉽게 메모리 부족 문제가 발생하기 때문에 검증된 버전의 이클립스와 추가 프로그램을 사용하는 것이 회사의 비용과 개인의 정신건강에 이롭다. 소프트웨어 구매에 비용을 투입할 수 있다면 인텔리제이나 넷빈즈를 구매하는 것이 좋다. 이클립스 메모리 문제 예방하기 이클립스의 메모리 문제를 예방(회피)하기 위해서는 이클립스가 사용할 수 있는 메모리를 크게 할당하는 것이 좋다. 아래의 글에서 메모리 상태를 모니터링 방법과 메모.. 2023. 3. 20. [자바/Java] 변수(Variable)와 자료형(Data Type) 동영상 설명 3강. 변수와 자료형 변수의 필요성 컴퓨터 프로그램은 특정 작업을 수행하는 일련의 명령어 집합을 말한다. 현실에서와 마찬가지로 작업을 수행하기 위해서는 작업을 위한 공간이 필요하다. 컴퓨터에는 그 공간 중 하나로 변수라는 것이 있다. 예제 코드: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/datatype/DataTypeExample.java ※ 본 글은 자바 프로그래밍 입문자를 위한 글이므로 변수의 종류와 자료형의 종류에 대해서 깊게 다루지 않는다. 변수의 정의 변수(變數, Variable)는 '변할 변'과 '셈 수'로 구성된 한자어 뜻처럼 변하는 수를 말한다. 즉, 컴퓨터의 변수에는 어.. 2023. 1. 23. [자바/Java] 주석(Comment) 동영상 설명 5강. 자바에서 주석이란 자바에서 주석이란 프로그래밍을 하는 도중에 메모가 필요한 경우가 있다. 자바에서는 소스 코드 안에 이러한 메모를 할 수 있도록 주석(Comment)을 지원한다. 주석처리한 곳에 기입한 내용은 프로그램 실행과 무관하다. 컴파일 과정에서 해당 내용이 제외된다. 주석이 필요한 경우 프로그램 설명을 소스 코드 안에 글로 남기기 위해서 소스 코드 분석에 용이하도록 소스 코드 안에서 코드를 설명하기 위해서 주석을 선언하는 방법 자바에서 주석을 선언하는 방법은 두 가지가 있다. 한 줄만 주석처리를 하는 '//'와 여러 줄을 주석처리하는 '/* */'가 있다. 문법은 다음과 같다. 한 줄만 주석처리 하기 // 한 줄만 주석처리 합니다. 여러 줄을 주석처리 하기 /* 여러 줄을 주석.. 2023. 1. 5. [자바/Java] 타이머로 지연 실행하고 반복 실행하기 필요성 특정 연산을 너무 자주 수행하여 리소스가 낭비되는 것을 해소하기 위해서 혹은 시간적으로 동기화를 수행해야 하는 경우에 자바의 Timer 클래스를 활용할 수 있다. 지연 실행 방법 아래의 소스 코드에서 run 메소드 안에 수행할 내용을 입력하고 schedule 메소드를 호출할 때 두 번째 인자 값에 지연시킬 시간을 밀리초(ms) 단위로 입력한다. Timer timer = new Timer(); TimerTask timerTask = new TimerTask() { @Override public void run() { // 동작할 내용 } }; timer.schedule(timerTask, 1000); 지연 실행 예제 코드 예제 소스 코드 주소: https://github.com/Engineering.. 2022. 12. 13. [자바/Java] 수행 시간 확인 방법 필요성 프로그램의 느린 부분을 찾고 개선하기 위한 업무를 수행할 때 수행 시간을 확인한다. 코딩방법 아래의 코드처럼 시스템의 시간을 두 번 가져와서 시작시간과 끝시간의 차이를 구해 프로그램의 수행 시간을 확인할 수 있다. long start = System.currentTimeMillis(); ...(처리할 내용) long end = System.currentTimeMillis(); System.out.println((end-start)+" ms"); 코딩 예제 예제 소스: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/system/ProcessingTimeExample.java 실행 결과 위의 예제 소.. 2022. 12. 12. 자바에서 처리를 지연(딜레이, Delay)하는 방법 자바 프로그램의 처리를 지연하는 방법은 아래와 같다. 필자의 경우 스프링 프레임워크 등으로 작성한 자바 프로그램에서 동기 관련 트러블 슈팅 용도로 사용한다. 스레드 클래스 활용 방법 try { Thread.sleep(시간); // 단위 ms } catch (InterruptedException ie) { Thread.currentThread().interrupt(); } 참고문서 [1] "Class Thread", 오라클 JDK 8. @원문보기 2022. 11. 8. [자바/JAVA] 'System.out' 표준 출력으로 문자 출력하기 동영상 설명 2강. 'System out' 표준 출력으로 문자를 출력하자 필요성 프로그램이 사용자에게 글자를 보여줘야할 때 자바에서는 'System.out' 이라는 표준 출력 클래스를 활용할 수 있다. 현재 시스템의 출력 환경에 대응하여 출력하므로 편리하다. 코딩 방법 표준 출력 클래스에는 여러 메서드가 있다. 본 글에서는 print(), println(), printf()를 설명한다. 아래와 같이 사용할 수 있다. System.out.print() System.out.print(입력값); System.out.println() System.out.println(입력값); System.out.printf() System.out.printf("형식지정자", 입력값); 코딩 예제 예제 소스: https://g.. 2022. 10. 24. 윈도우에 OpenJDK 8을 설치하자 OpenJDK 8을 사용하는 이유 OpenJDK를 사용하는 이유는 여러가지가 있겠지만 보통은 라이센스 때문이다. 하지만 나처럼 알고리즘 공부 때문에 사용하는 경우도 있다. 특히 SW Expert Academy의 경우 OpenJDK 8를 지원하기 때문에 OpenJDK 8을 사용할 수 밖에 없다. OpenJDK 윈도우 설치 방법 OpenJDK를 설치하기 위해 아래의 주소로 이동하여 윈도우에서 OpenJDK를 쉽게 설치할 수 있도록 빌드해놓은 것을 다운로드 받는다. OpenJDK 윈도우 빌드: https://github.com/ojdkbuild/ojdkbuild 아래의 사진처럼 인스톨러를 다운로드가 완료되면 실행한다. 'Next' 버튼을 누른다. 약관에 동의하고 'Next' 버튼을 누른다. 기본값으로 설치할 .. 2022. 10. 11. [Java] 표준 출력 사용하기 println(), print(), printf() 동영상 설명 2강. 'System out' 표준 출력으로 문자를 출력하자 개요 자바(Java)에는 표준 출력을 할 수 있는 메서드로 println()과 print(), printf()가 있다. 이 메서드는 System.out 클래스에 있다. 사용 방법은 다음과 같다. 예제 자료: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/io/SystemOutPrintExample.java println() 사용법 println()은 입력된 값에 개행문자가 함께 출력되는 메서드이다. System.out.println("문자열"); System.out.println("문자열"+"문자열"+변수); System.out.p.. 2022. 8. 31. 자바 프로그래밍 학습을 위해 자바와 이클립스를 설치하자 자바와 이클립스를 설치해야하는 이유 자바 프로그래밍을 공부하기 위해서는 자바(Java)와 이클립스(Eclipse)를 설치해야 합니다. 여기서 말하는 자바는 OracleJDK 또는 OpenJDK를 말하는 것인데 입문자가 본 글을 읽는 것을 생각하여 본 글에서는 OracleJDK를 자바라고 지칭하겠습니다. * JDK는 Java Development Kit의 약자로 자바 개발 도구모음를 말합니다. 현재는 오라클 사가 OracleJDK와 OpenJDK를 모두 관리하고 있지만 OracleJDK의 경우 상업적으로 이용하려는 경우 비용이 발생하는 단점이 있지만 릴리즈 주기가 길고(3년) 오랜 기간 기술 지원을 제공한다는 점이 장점입니다. OpenJDK의 경우 무료로 사용이 가능한 장점이 있지만 릴리즈 주기가 짧고(6.. 2022. 7. 1. 윈도우에 OpenJDK 14를 설치하자 OpenJDK 14를 설치하는 이유 자바8을 기반으로 알고리즘을 구현하는 중에 해설에서 사용된 메서드가 나의 프로그램에서 지원되지 않아서 알아보니 신버전의 자바에 추가된 메서드였다. 확실히 코딩량이 확 줄어드는 효과가 있었고 코딩테스트 플랫폼에서 지원하는 버전이라 OpenJDK 14를 내 컴퓨터에 설치했다. OpenJDK 14 다운로드 OpenJDK의 공식 홈페이지는 https://openjdk.org/ 이지만 여기서 받으면 설치가 아래의 사진처럼 설치가 번거로운 형식을 지원하기에 나는 인스톨러 형식으로 빌드된 것을 다운받아서 설치할 것이다. 윈도우 인스톨러 형태로 빌드되어 있는 것을 아래의 주소에서 받을 수 있다. 아래의 사진처럼 찾아서 다운로드 링크를 누르자. OpenJDK : https://gith.. 2022. 6. 25. 자바 프로그래밍이란? 개발사 자바(Java)는 썬 마이크론시스템즈(Sun Microsystems)에서 1995년에 개발된 객체 지향 프로그래밍 언어이다. 제임스 고슬링(James Arthur Gosling)이 고안하였으며 현재 강력한 프로그래밍 언어 중 하나이다. 2010년에 썬 마이크론시스템즈가 오라클에 인수되어 오라클 홈페이지에서 자바 프로그래밍에 필요한 프로그램인 JDK(Java Development Kit, 자바 개발 도구)를 다운받을 수 있다. JDK 종류 JDK는 크게 OracleJDK와 OpenJDK로 구분 가능한데 라이센스 정책이 OpenJDK는 무료이며 OracleJDK의 경우 유료화가 진행되고 있으므로 사용하고자 하는 목적에 따라 구분하여 사용하는 것이 필요하다. 개인이 학습 목적으로 사용하는 것에는 둘 다.. 2020. 12. 5. [자바/JAVA] 네이버 SMTP를 활용해 메일을 발송해보자 본 글은 2017년 7월 19일 08시 32분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. JAVA 기반의 SMTP 메일 발송 샘플코드를 기록하는 글이다. JavaMail 이라는 라이브러리를 가져다 쓰자 여기에서(https://javaee.github.io/javamail/) 받을 수 있다. 이 라이브러리는 SMTP와 IMAP, POP3을 지원한다. 개발환경 : JDK 1.8.0_111 x64, Windows 7, Eclipse Mars.1 Release (4.5.1), JavaMail 1.6.0 위에 있는 링크에 가서 javax.mail.jar을 받는다. 그 후 이클립스에 프로젝트를 생성하고 SMTP 클래스를 생성한 후 외부라이브러리를 위와 같이 추가한다. package ex.. 2020. 10. 5. '이것만 알면 누구나 하는 자바 프로그래밍' 프로젝트 개요와 현황 1. 진행 배경과 목표 시중에 있는 자바 서적과 강의는 훌륭하나 너무나 많은 내용을 담고 있어서 조사 또는 취미로 자바를 학습하는 사람과 당장 실무를 시작해야 하는 사람에게는 적합하지 않습니다. 그러므로 저는 어려운 개념이면서 이해하기 어려운 내용은 최소한으로 줄이고 실습 위주로 빠르게 자바를 학습할 수 있는 강의를 만들어 자바를 짧은 기간에 익힐 수 있는 강의를 만들고자 합니다. 2. 수강대상 본 강의는 프로그래밍의 특성상 중등수학을 익힌 자에게 적합하게 설계되었습니다. 물론 초등수학만 알아도 수강은 충분히 가능하나 방정식과 실수라는 개념을 이해하지 못 해서 어려움을 겪을 수 있습니다. 3. 학습방법 본 강의는 아래의 순서로 학습하는 것을 권장드립니다. 강의 목차에 따라 실습합니다. 실습이 잘 되지 않.. 2020. 8. 13. 이전 1 다음