목록2. 프로그래밍 언어 공부 (118)
회고록 블로그
Java에서 복합 대입 연산자(+=, -=, *= 등)를 공부하다가 아래와 같은 경우에는 에러가 발생하지 않는다는 사실을 알게 되었다. 상황 설명을 조금 하자면.. num이라는 변수는 데이터 타입이 short형이다. 그리고 num변수(short형)에 50 이라는 숫자(long형)를 더하고 싶다. 보통 'num = num+50L'으로 코드를 작성하면 에러가 발생한다. 덧셈 연산을 처리하는건 괜찮은데 데이터 타입이 short인 곳에 값을 대입하지 못해서 에러가 발생하는 것이다. 즉, 이런 과정으로 문제가 생긴다. 1) num 변수에 있는 값은 데이터 타입이 short형이다. num 변수에 있는 '10'을 long형으로 변환한다. (자동 형변환) 2) long형으로 변환한 '10'과 long형인 '50'을 더..
Java 공부 중에 개인적으로 필요한 내용들만 정리했다. 출처 : 윤성우 선생님, 윤성우의 열혈 Java 프로그래밍 강의, https://cafe.naver.com/cstudyjava 윤성우의 프로그래밍 스터디그룹 [C/... : 네이버 카페 윤성우의 스터디 공간입니다. C와 JAVA를 공부하시는 분들은 모두 들어오세요. ^^ cafe.naver.com 1. 상수 ㄱ. 상수는 변수에게 상수의 성격을 부여해서 표현하거나, 사용자가 직접 값을 입력(*부가설명)해서 표현할 수 있음 ㄴ. 정확하게 말하면 상수는 한번 값을 할당하면 그 값이 변하지 않는 변수임 (값에는 숫자, 문자 등이 들어갈 수 있음) ㄷ. 한번 할당되면 변경이 불가능하고, Java에서는 final 키워드를 이용해서 변수를 상수화시킴 ㄹ. 상수..
원래 참고하고 있는 책이 너무 노잼이라 공부를 이어갈 수가 없다. 그래서 윤성우 선생님 강의를 들으면서 필요한 부분만 정리하기로 했다. 윤성우 선생님의 강의는 카페 가입 시 들을 수 있다. (자바 뿐만 아니라 파이썬이나 디자인패턴 강의도 있는 듯 하다) https://cafe.naver.com/cstudyjava 윤성우의 프로그래밍 스터디그룹 [C/... : 네이버 카페 윤성우의 스터디 공간입니다. C와 JAVA를 공부하시는 분들은 모두 들어오세요. ^^ cafe.naver.com 1. javac → JDK에 있는 java 컴파일러 2. 명령 프롬프트로 javac.exe와 java.exe 이용한 자바 코드 실행 → 참고로 java.exe(자바 런처)는 JVM을 실행시키고 그 곳에 클래스 파일을 얹어놓는 ..
1.1. Java 소스 코드 구조 - 주요 → 클래스 정의하기 public class Sample { ...... } #1. 클래스를 만들고 그 안에 코드를 작성해야함 #2. 클래스를 선언할 땐 반드시 class 키워드를 사용해야함 #3. public은 "접근 지정자"라고 하며, 다른 클래스에서 자유롭게 Sample 클래스(class)를 참조할 수 있다는 의미임 → main() 메소드 작성하기 public class Sample { public static void main(String[] args) { ...... } } #1. main() 메소드부터 실행이 됨 즉, Java 소스 코드가 처음 실행될 때 main() 메소드를 먼저 찾고 실행함 #2. 1개의 클래스(class)에는 1개의 main 메소드..
※ Java에 대해 공부하는 학생(?)의 입장이므로, 틀린 내용이 있을 수 있습니다. # Java 이전의 프로그래밍 언어(C, C++ 등)는 플랫폼 종속성의 특징이 있음 → 플랫폼 종속성? e.g.) Intel CPU + 리눅스 환경에서 개발된 프로그램 ===> 동일한 환경에서만 실행됨 → 발생 원인은 (1)CPU마다 기계어 상이, (2)OS마다 API 상이, (3)OS마다 실행파일 형식 상이 등의 이유 때문임 → C언어만 해도, 컴파일되면 플랫폼에 종속적인 코드가 되어버림 # Java는 개발 단계에서부터 플랫폼에 독립적임 → 이는 Java가 가지고 있는 자바 가상 머신(JVM) 덕분임 → 즉, OS나 하드웨어(CPU 등)에 관계없이(=동일한 환경이 아니라도) 동일한 실행 결과를 기대할 수 있음 (= W..
블로그에 글을 정말 오랜만에 쓰는 것 같다. 좀 긴 시간 동안 진로에 대해 고민을 하며, 다양한 경험을 해보고 싶어서 갑작스럽게 떠났었다. 그러고서 여러 경험을 하고 돌아오니, 역시 그나마 내가 상대적으로 잘하는 것은 프로그래밍이라는 것을 깨달았다. '그나마 잘' 하는 것.. 그래서 다시 독하게 독학을 해보려고 마음을 굳게 먹었다. 사담이지만, 떠나기 전에 HTML, CSS, JavaScript를 아주 기초적으로 공부했었다. 공부하면서 느꼈지만 정말 나랑 안맞는 언어 같다. 그 자유로움(?)이 뭔가 익숙하지가 않다. 가령, JavaScript에서 변수에 숫자, 문자를 저장할 때에는 아래와 같이 데이터 타입 없이 사용하지만 var num = 1; var alphabet = 'c'; document.writ..
생활코딩 JavaScript 공부를 하다가 재귀함수를 공부하게 되었는데 반복문이 있음에도 불구하고 왜 재귀함수를 사용하는지 이해를 할 수가 없었다. 그래서, 구글신의 도움을 받아 찾아보았다. 이 글은 개인적으로 정리해놓고 필요할 때 찾아보기 위해 작성하는 글이다. 아래 코드는 recurse 라는 함수를 recurse라는 함수 안에서 다시 호출해서 사용하는 코드이다. 반복문 두고 왜 굳이 이런 식으로 사용하는지 이해를 할 수 없었다. 물론 이 코드는 단지 '재귀함수'에 대해서 학습하기 위한 코드이기 때문에 재귀함수를 쓰기에는 비효율적인 코드일 수 있지만('어? 이 코드에서는 반복문을 쓰는게 덜 복잡하지 않나?'라는 생각이 들 수 있음) 대충 이 코드가 반드시 '재귀함수를 사용해야만 하는 코드'라고 가정하자..
이전 필기 : https://cinnamonc.tistory.com/185 [공부 필기] 생활코딩 웹브라우저 자바스크립트 강의 필기 (1) 1. 웹브라우저에서의 자바스크립트 * 프로그래밍의 본질적인 요소인 조건문, 함수 등을 배우고 * 자바스크립트의 고유 요소인 DOM에 대해서 학습함 * [참고] 자바스크립트가 HTML, CSS를 어떻게 제어 cinnamonc.tistory.com DOM * 단수와 복수 - 객체의 프로퍼티를 이용해서 색상, 이미지 변경 등을 하기 위해서는 객체에 대해 이해할 필요가 있음 - getElementById와 getElementsByTagName => getElementById가 리턴한 값(단수의 값)은 "HTMLLIElement"이라는 객체이고, (조회한 엘리먼트가 이기 때문..
1. 웹브라우저에서의 자바스크립트 * 프로그래밍의 본질적인 요소인 조건문, 함수 등을 배우고 * 자바스크립트의 고유 요소인 DOM에 대해서 학습함 * [참고] 자바스크립트가 HTML, CSS를 어떻게 제어하는지 유의해서 학습할 것 2. 오리엔테이션 * 본 수업은 웹브라우저, 웹브라우저에서 표시되는 문서 등을 제어하는 방법에 집중하고 있음 (자바스크립트 라는 언어 자체에 대해서는 얘기하지 않음) * 오늘날에는 DOM을 잘 사용하지 않음 (DOM을 직접 사용하기 보다는 더 적은 코드로 강력한 효과를 주는 jQuery와 같은 라이브러리를 사용함) * 라이브러리에만 의존하지 않도록, 라이브러리의 사용성에 갇히지 않도록 브라우저에서 기본 제공하는 DOM 등을 이해하여야 함 * 자바스크립트라는 언어 자체의 대한 지..