반응형

프로그래밍 언어 18

자바(JAVA) - 익명 클래스 (Anonymous class)

익명 클래스란 이름이 없는 일회용 클래스입니다. 일회용으로만 사용하기 때문에 이름이 필요 없으며 객체 생성 시에 클래스 정의와 생성을 동시에 합니다. 보통의 자바 클래스는 클래스를 정의하고 클래스명으로 객체를 생성합니다. // 클래스 정의 class MyClass { ... } // 객체 생성 MyClass myClass = new MyClass(); 객체를 생성해주는 new 연산자 뒤에 부모 클래스(인터페이스)의 이름을 사용하여 생성하며, {} 안에 함수를 정의합니다. 하나의 부모 클래스를 상속받거나 단 하나의 인터페이스만을 구현할 수 있습니다. // 생성과 정의를 동시에 Object myClass = new Object() { void myMethod() { ... } }; 학생 클래스의 배열을 나이..

자바(JAVA) - Char to Int : 문자를 숫자로 변환하기

자바에서 문자 타입의 char를 정수 타입의 int로 변환하는 방법입니다. 1. 자동 형변환, 강제 형변환 (X) char c = '1'; int n = c; // == int n = (int)c; System.out.println(n); // 결과: 49 자동 형변환이나 강제 형변환으로 char를 int로 변경하면 문자 '1'의 아스키 코드인 49가 출력되어 올바른 방법이 아닙니다. 2. '0'을 빼주기 (ASCII code 사용) (O) char c = '1'; int n = c - '0'; // == int n = (int)c - '0'; 49 - 48 = 1 System.out.println(n); // 결과: 1 아스키 코드 표를 살펴보면 문자 0 ~ 9는 48 ~ 57의 순서로 되어있습니다. ..

자바(JAVA) - FileReader, FileWriter 파일 읽기, 쓰기

자바(JAVA) - FileReader, FileWriter 파일 읽기, 쓰기 자바에서 텍스트 파일을 읽고 쓰기 위한 FileReader와 FileWriter 클래스가 있습니다. FileReader와 FileWriter 클래스는 문자 스트림으로 텍스트 파일을 읽고 쓰는데 사용됩니다. 자바의 입출력 스트림은 문자 스트림과, 바이너리 스트림 두 종류가 존재합니다. 문자 스트림은 문자만 입출력하는 스트림으로 문자가 아닌 다를 데이터는 스트림에서 처리하지 못함니다. 만약 동영상, 오디오 등의 바이너리 데이터를 읽고 쓴다면 바이너리 스트림을 사용하여야 합니다. FileReader FileReader는 파일 입력 스트림을 생성하고 파일을 열어 스트림과 연결합니다. FileReader 객체가 생성될 때에 파일과 직접..

자바(JAVA) - 입출력 스트림

자바(JAVA) - 입출력 스트림 입출력 스트림이란? 스트림(Stream)을 한글로 번역하면 개울, 시내, 줄기, 줄줄 흐르다로 번역됩니다. 입출력 스트림에서 스트림은 순서가 있는 데이터의 연속적인 흐름이라 할 수 있습니다. 입출력 스트림은 입출력 장치와 자바 응용 프로그램을 연결하는 역할입니다. 기본 단위는 바이트 이며, 단방향 스트림과 선입선출의 구조를 가집니다. 입력 스트림 : 입력 장치(키보드 등)으로 부터 받은 입력 값을 자바 응용 프로그램으로 전달하는 객체입니다. 자바 응용 프로그램은 입력 장치로부터 직접 데이터를 읽지 않고 입력 스트림을 통해 데이터를 읽습니다. 출력 스트림 : 자바 응용프로그램으로 부터 출력 장치(화면 등)으로 데이터를 보내는 객체입니다. 입력 스트림과 마찬가지로 직접 데이..

자바(JAVA) - 폴더 파일명 변경

자바를 사용해서 원하는 폴더의 모든 파일명을 변경하는 방법입니다. 이 글과 보시는 분의 목적이나 방법이 다를 수 있습니다. 저는 알고리즘 폴더의 파일명들을 변경하고 싶어 이 코드를 작성하여 파일명을 변경하였습니다. 원하는 폴더의 절대 경로를 가져와 저장합니다 String path = "/Users/dlee/Desktop/Algorithm_Study/backjoon/"; 절대 경로를 가져오는 방법은 워낙 다양해서 편한 방법으로 찾았다고 가정하겠습니다. 폴더를 가져오기 위해 java.io에 있는 File 클래스를 사용할 것입니다. import java.io.File; File클래스의 생성자 중 File(String pathname)으로 생성하면 입력한 pathname 경로 파일의 객체를 생성합니다. File..

[JAVA 자바] 문자열(String) forEach(Enhanced for) 사용법

JAVA 자바 문자열 forEach(Enhanced for) 사용법 (enhanced for문을 forEach로 취급하겠습니다...) 개요 아래와 같이 문자열(String) 타임의 s를 forEach를 사용하려 하면, for (char c : s) { ... }다음과 같은 애러 등이 발생하게 된다. foreach not applicable to type 'java.lang.String'/Solution.java:8: error: for-each not applicable to expression type for (char c : s) { ^ required: array or java.lang.Iterable found: String 1 error이는 자바에서 문자열을 String Pool에..

[JAVA 자바] Static Variable(변수), Method(함수)

JAVA 자바 Static Variable(변수) Static 변수 Static 변수란 하나의 값을 여러 인스턴스가 공유를 할 수 있도록 하는 역할입니다. 자바에는 클래스 외부에는 어떤 변수도 선언을 할 수 없습니다. 모든 변수나 함수는 클래스 내부에 선언되어야 합니다. 그러면 정적 변수는 어떻게 선언하냐면, 'static'이라는 keyword를 붙여 선언합니다. 클래스(멤버) 변수는 힙 메모리에 저장되는 반면 static 변수는 데이터(상수) 영역 메모리에 저장되는 차이도 있습니다. 처음 프로그램이 로드될 때에 생성이 되며, 인스턴스와 독립적으로 인스턴스 생성 없이 사용할 수 있습니다. 사용할 때에는 다음과 같이 클래스 이름으로 참조하여 사용합니다. Student.id = 001; public clas..

[JAVA 자바] Public Class & Class

JAVA 자바 Public Class & Class 자바에서는 파일명과 public class 명이 같아야 한다는 규칙이 존재한다. 또한 public class, 접근제어자 'public'이 붙은 class는 파일 내에 한 개만 존재해야 한다. 만약, 파일명과 public class 명이 다른 경우 'The public type ... must be defined in its own file' 혹은 'class ... is public, should be declared in a file named ....java' 등의 에러가 표시된다. 이는 정확한 이유는 알 수 없지만, 가독성의 문제 때문이라고 생각한다. test.java 라는 파일을 만들고 다음과 같이 코드를 입력해보면, class test { }..

반응형