String 생성1String str1 = "abc";cs 1String str = new String("abc");cs: 문자열 "abc"는 문자열 리터럴로 절대 바뀌지 않는다. 만약 문자열을 자르거나 다른 문자열과 연결한다는 것은 "abc"가 바뀌는 것이 아니라 메모리를 새로 할당 받아 새로운 문자열 리터럴을 생성하는 것이다. 또 동일한 문자열 리터럴을 여러 String 객체에 할당한다면 동일한 리터럴을 같이 사용하는 것이다. 12String a = "abc";String b = "abc";cs 위의 코드의 a, b는 동일한 메모리에 있는 리터럴을 사용하는 것이며 a, b에서 문자열을 변경해도 "abc" 자체는 변경되지 않고 변경된 형태의 새로운 문자열 리터럴이 생성되는 것이기 때문에 a, b는 서로..
프로그램에서 사용할 데이터가 숫자형이라면 보통 byte, int, float 등의 기본타입을 사용한다. 그런데 이러한 기본 타입의 값을 객체로 변환해서 사용해야 하는 경우가 발생하는데, 자바는 이를 위해 래퍼(wrapper)클래스를 제공한다. (jdk 1.5 이후부터는 개발자가 래퍼 클래스를 이용하지 않더라도 컴파일러가 기본값을 래퍼 클래스로 변환해준다.) 기본 타입 래퍼 클래스 boolean Boolean byte Byte char Character short Short Int Integer long Long float Float double Double 기본 타입을 객체로 변환하는 것은 파라미터 타입이 객체형인 메서드에 기본 타입 값을 아규먼트로 전달하는 경우나 MIN_VALUE, MAX_VALUE와..
- 자바 API는 다양한 클래스들을 제공하는데, 그 중 java.lang 패키지에는 자바 프로그래밍에 기본적이고 다양한 클래스들이 다수 포함되어 있다. - API란? (위키백과 참고)API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. Object class: 자바의 모든 클래스가 직접 또는 간접적으로 상속받는 최상위 클래스. 자바 클래스의 기본 특징을 결정짓고, 따라서 모든 클래스는 Object클래스를 상속받아 메서드를 사용할 수 있으며,..
이번 금요일부터 학원에서 아두이노 과정이 시작해서, C언어를 공부하기 시작했다. 절차지향 언어인 C를 공부하기 위해 코드블록을 설치하는 방법을 알아봤다. - Code::Blocks에 대해서 (위키백과) 1. 코드블록 홈페이지에 들어가서 다운로드를 누른다. 2. Download the binary release를 누른다. 3. 윈도우를 사용하고있기 때문에 운영체제를 선택한뒤 setup.exe파일을 다운 받는다. 설치가 완료되면 setup.exe파일을 실행한 뒤, 잘 깔렸는지 확인한다.
깊은 개념은 아니고, 선생님께서 말씀해주신 내용이 피와살이 될거같애서 여기다 정리해봤다. 오늘 오전 수업에서는 GCP의 was서버에 설치한 tomcat과 apache를 연동하는 실습을 했다. 그 과정에서 선생님께서 구조에대해서 설명해주셨는데 요점을 정리해봤다. 유저가 url을 통해 80포트인 Apache로 먼저 접근하면 connector역할을 하는 AJP를통해 Tomcat에서 동적인 기능을 하는 jsp를 받아와서 그걸 유저에게 전달하는 형식을 그림으로 그렸다. 역할을 설명하면 Apache는 정적인 부분만을 담당하고, 동적기능(jsp)를 받아오려면 Tomcat에 요청을 보냈다가 받아와야 한다. 때문에 둘을 붙여쓰는데 보다시피, Apache는 C언어 기반으로 만들어져 성능이 뛰어나고 빠른반면에, Tomcat..
- 이글을 작성한 이유spring을 사용하는데 tomcat설치이후 기존에 tomcat에 할당된 8080포트가 작동되지 않았다. 그래서 이런저런걸 찾아보다 보니, 기존에 설치되어있던, 오라클이 8080포트를 사용하고 있었던것! 그래서 구글링을 통해 cmd의 sqlplus에서 포트번호를 확인하고, 변경후, 8080을 tomcat에 부여하는 방법을 포스팅해볼까 한다. 1. cmd창에서 sqlplus를 실행2. 오라클의 system계정과 비밀번호를 입력해서 로그인한다.3. select문을통해 dual테이블에서 httpport의 값을 구한다. -> 현재 5000port를 사용하고 있다.select dbms_xdb.gethttpport() from dual;4. 포트를 변경한다.( ( ) 안에는 자신이 바꾸고 싶은..
학원수업을 듣다보면 하루에도 수십번 난관에 봉착하며 혼자 되내인다. 처음엔 고뇌에 빠져 멘탈이 살짝 흐릿해지다가, 컴퓨터 공부한지 이제 2개월인데 잘하는게 이상하지. 차분히 내가 해야할 공부를 해야지 한다.... 정신이...ㅋㅋ 암튼 오늘 collection부분을 수업하기전에 선생님께서 인터페이스와 관련되 문제를 몇개 내주셔서 풀고있던 중 여지껏 너무 헤깔렸던 개념에 대해 먼가 길을 찾고자 자바의 정석을 펼쳤다. 1. 접근제어자(access modifier) 음... 자바의 정석을 보면 객체지향 전까지 프로그래밍 언어에 공통적으로 가장 중요한 문법들을 배운다. 그땐 변수 앞에 왜 public이 붙는지... 조건문과 반복문, 그리고 여러가지 챕터를 배우기 바빠서 사실 궁굼해 하지 않았던 부분들이 객체지향파..
1. github에 가입하기 먼저 위의 링크로 들어가서 github에 가입해야한다. 가입하게되면 github 서버에 자신의 소스를 올릴 수 있는, remote repository를 만들 수 있게 된다. 1) 로그인해서 메뉴바에 보면 Overviews옆에 Repositories가 있다. 거기에서 new를 누른다. 2) 다음과 같은 화면이 나오면 자신이 사용할 Repository의 이름을 지정한다.- optional은 자신의 임의로 작성하고 안썼다면 나중에 추가할 수 있다.- 그리고 그 밑의 Public / Private가 있는데 Public이 있는데 Public을 선택한다면, 이 repository를 누구나 볼수있고 commit을 할 수있게 만들겠다는 것이고, Private는 말 그대로 이 reposito..
앞으로 학원에서 진행될 프로젝트를 위해서 git을 공부하기 시작했다. 선생님께서 알려주신 부분들과 유튜브를 통해 알게된 부분들을 이곳에 정리해보고자 한다. 1. 형상관리 system1) 형상관리 = 버젼관리 = 소스관리 처음에 수업을 들었을때, 관리는 무언가를 관리하다 라는 의미로서 이해가 쉽게 됬지만, 형상이란게 쉬운말로 뭘까라는 생각을 하게됬다. 간단히 말하면 버전이라고 생각해보면 될 것 같다. 롤에 새로운 챔프가 생기거나 아이템들이 추가되면 업데이트가 진행되는데 그때 보면 버젼의 숫자가 바뀐걸 알 수 있다. 그러한 어떠한 의미있는 변화나 개선들, 기존에 존재했던 버그들을 수정하거나, 사용자들의 요구를 반영했을때, 그때 우리가 관리하는걸 형상이라고 생각하면 된다. 그리고 이는 프로젝트의 처음부터 끝의..
1. java 설치하기1) 오라클 홈페이지에 들어가서 developers -> Downloads로 들어간다.(설치 누르면 다운로드할수있는 oracle 홈페이지로 이동) 2) 카테고리중에 java를 누르면, 3) 아래의 그림처럼 java의 하위 카테고리 칸으로 이동된다. 4) 여기서 jdk download를 누른다. 5) 아래에서 accept를 체크한뒤, 자신의 운영체제에 맞는 java를 다운받는다. 2. java 환경변수 설정하기1) 내 컴퓨터에서 오른쪽 클릭한 뒤 속성으로 들어가서 아래의 '고급 시스템 설정'으로 들어간다. 2) 여기서 환경변수창으로 들어간다. 3) 먼저 아래의 '시스템 변수(s)'에서 '새로만들기(w)'를 누르고 아래의 값을 입력한다.- 변수 이름은 아래와 동일하게, 그리고 변수 값은..
하....1시반부터 git bash로 usb에 소스파일을 올려놓고 github에 push할 파일을 만들고 연결하는데 정확히 거의 2시간이 좀 넘게 걸렸네.... 학원에서 spring project파일을 올리는 repository를 만들어봤으니까 쉽게 할줄알았는데 생각보다 너무 오래 걸렸다. 다른거 복습도 좀 할려고했는데 지금 안자고 학원을 가면 100% 집중하긴 힘들거같아서 잠을 자야될 것같다. 일단 임시로 파일을 만들어서 올리긴했는데 차차 소스를 몇개 올린다음에 push 했을때 제대로 반영되는지 확인해봐야겠다.. 제대로 되면 블로그에 글도 남길 계획~
- 먼저 get과 set의 개념을 이해해야게 될 것같다. 좋은 예제가 많기 때문에 이해하는데 좀 더 수월했다. - 인터페이스에 있는 추상메서드의 구현 - 소수구하는 알고리즘(?) 1. SumIF 인터페이스 생성- 공통된 부분이 합계를 구하는 것이기 때문에, int 타입의 매개변수를 받는건 보여주지만 몸통이 구현되지 않은 추상메서드만을 가지고 있다. package intheclass.models; public interface SumIF { // 추상메서드 하나를 멤버로 가지고 있는 인터페이스 // 기본형 int타입의 변수 n을 매개변수로 받는 추상메서드 int sum(int n); } 2. OddNum 클래스 생성(Odd = 홀수)- SumIF를 상속받기 때문에 인터페이스의 상속키워드인 implement..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.