생성자를 어떤 형태로든 구현했다면 기본(default) 생성자는 자동으로 생성되지 않는다. [this] : 자신 클래스의 객체에 접근할 때 사용한다. ex) Class Book { String Title; String Author; public Book(String Title, String Author)// 생성자 { Title = Title;// ? Author = Author;// ? } } 위와 같은 코드를 작성했을 때, Title = Title; 과 Author = Author; 부분에서 어떤 것이 Book 클래스의 멤버 변수를 지칭하고, 어떤 것이 생성자의 인자를 지칭하는 것인지 알 수 없어 혼돈이 생겨 원치 않는 결과가 나온다. 이런 경우 this 키워드를 사용한다. this.Title = T..
클래스 : 객체를 만들기 위한 설계도 클래스를 메모리에 올림으로써 객체로 만드는 것을 객체화(인스턴스화)라고 한다. 하나의 파일 안에 public 클래스는 하나만 존재해야한다. main 메소드를 갖는 클래스가 public 클래스이고, public 클래스명은 파일명과 같게 정한다. 변수 1. 멤버 변수 : 클래스 내부에 선언 된 변수 1) 클래스 변수 : static이 붙은 변수, 언제든지 사용가능 한 공유 변수 2) 인스턴스 변수 : static이 붙지 않은 변수 2. 지역 변수 : 메소드 안에 선언 된 변수 다른 클래스의 클래스 변수 사용 시 (클래스명).(변수명) 형태로도 사용이 가능하다. 같은 클래스 내에 있는 클래스 변수 사용 시 변수이름만으로 사용이 가능하다. 한 인스턴스에서 클래스 변수의 값을..
[System.in] 1. System.in은 java.io.*; 를 import한다. 2. System.in을 이용해 값을 입력받을 때, 잘못된 값을 입력받은 경우를 대비해 항상 예외 처리를 해줘야 한다. 예외 처리 구문이 없으면 오류가 발생한다. 따라서, try/catch문을 사용하거나 시스템이 알아서 예외를 처리하는 IOException을 사용해 예외 처리를 해준다. 3. System.in.read 메소드는 인자가 없으면 입력한 값을 하나씩 읽어 들여 아스키 값으로 반환한다. ex1) 한 글자를 입력 import java.io.*; public class IOEx { public static void main(String[] args) throws IOException { int i = System..
1. main 메소드를 이용한 입출력 public class InputOutputEx { public static void main(String[] args) { System.out.println(args.length); } } 배열 args의 크기를 출력하는 코드를 작성한다. 그런 다음 cmd 창을 켜서 해당 클래스가 위치하는 디렉토리로 이동한다. C:\Users\a\Desktop\eclipse-workspace\BeginJava\bin>java InputOutputEx 그리고 해당 클래스를 java로 실행 시키면 0이 출력된다. java InputOutputEx 뒤에 인자가 없기 때문에 main 메소드의 인자 args에 아무것도 전달이 되지 않아 크기가 0으로 출력된 것이다. C:\Users\a\De..
1. 배열의 선언과 초기화 1차원 배열 ex1) int[] arr1; // 배열 선언 arr1 = new int[4]; // 배열 생성, 메모리 할당 arr[0]=0; arr[1]=1; arr[2]=2; arr[3]=3; // 초기화 ex2) int[] arr2 = {1,2,3,4}; // 배열의 선언, 메모리 할당, 초기화를 한번에 함 2차원 배열 ex1) int arr[][] = new int[3][]; arr1[0] = new int[1]; arr[1] = new int[2]; arr[2] = new int[3]; => 각 행마다 열의 개수가 다를 때 사용 ex2) int arr[][] = new int[3][4]; => 각 행마다 열의 개수가 같을 때 사용 2. 배열의 크기 구하기 => 배열이름...
[자료형] 1. 실수형 float ft1 = 1.234; (X) 자바의 실수 기본형은 double이므로 1.234는 double형으로 인식된다. 하지만 그 값을 담는 ft1이라는 변수가 float형이기 때문에 범위가 작은 float형에 double형의 값을 저장하려 하면 오류가 발생한다. 그러므로 이 경우 float ft1 = 1.234f;로 수정해야 한다. float ft2 = 1234; (O) 1234는 정수형이고, 실수형은 정수형보다 큰 범위를 갖기 때문에 실수형은 정수형의 값을 담을 수 있다. 2. 문자형 C/C++에서는 아스키 코드를 사용하여 char형이 1byte였지만, Java에서는 유니코드 체계를 적용하여 char형이 2byte이다. ※ 16진수로 표현하기 : \u0041 = 4*16^1 ..
EditPlus를 이용하여 HelloJava.java 파일 생성 후, 명령 프롬프트 창에서 C:\Users\a\Desktop\Java>javac HelloJava.java 이와 같이 입력하면 cmd 창에는 아무 것도 뜨지 않는다. 하지만 해당 디렉토리를 들어가보면 원래는 HelloJava.java 파일 밖에 없었지만 HelloJava.class 파일이 생성된 것을 확인할 수 있다. 이는 자바 컴파일러(javac.exe) 명령에 의해 .class 형식의 바이트코드 파일이 생성된 것이다. .java 파일을 실행시키기 위해서는 바이트코드로의 변환이 필요하다. C:\Users\a\Desktop\Java>java HelloJava 그런 다음 cmd 창에 이렇게 입력을 하면 코드에 작성한 문구가 출력이 된다. 이는..
도구 - 기본 설정 - 도구 항목의 사용자 도구 - 추가(D) - 프로그램(P)을 누른 후 메뉴제목: Java 컴파일 명령: C:\Program Files\Java\jdk-12.0.1\bin\javac.exe 인수: $(FileName) // ▼ 버튼 누르고 파일이름을 선택 디렉토리: $(FileDir) // ▼ 버튼 누르고 파일디렉토리를 선택 동작: 출력 내용 캡쳐 // 하단에 출력 창이 나옴 그런 다음 한번 더 추가(D) - 프로그램(P)을 누른 후 메뉴제목: Java 실행 명령: C:\Program Files\Java\jdk-12.0.1\bin\java.exe 인수: $(FileNameNoExt) // ▼ 버튼 누르고 확장자를 뺀 파일이름을 선택 디렉토리: $(FileDir) // ▼ 버튼 누르고 ..