분류 전체보기
-
(JAVA) 자바 클래스(static) 멤버 &인스턴스(instance) 멤버JAVA/컨셉 , 예제 2018. 8. 24. 13:49
자바 프로그램에서 메모리를 할당하는 방법은 두가지가 있다. static과 new가 그것이다. 1. stiatic : 프로그램 작성 순간부터 메모리를 차지해 프로그램의 종료시까지 참조를 가능하게 해주는 키워드이다. 프로그램 시작부터 종료까지 메모리를 차지하고 있는 것에서 이름을 유래.(정적인) 클래스 멤버라고도 한다. ※ 메모리의 효율적인 사용을 위해 힙공간을 점유를 최소화 하는 것이 중요하다. 2. new : 키워드 선언 위치의 블록이 끝날 때까지 참조 가능하게 한다. 해당 블록이 끝나면 객체의 값이 null로 바뀌며 가비지 컬렉터에 의해 회수됨. 인스턴스 (instance) 멤버(객체)가 생성되었다고 한다. 여기서 중요한 것은 생성의 순서이다. 앞서 기술한 바와 같이 static 변수, 메소드들은 프로..
-
(JAVA) 자바 파일 입력 & 출력 & 복사 & staticJAVA/컨셉 , 예제 2018. 8. 24. 13:48
파일 객체를 이용해 입력 내용을 다른 파일에 복사해 출력하는 프로그램 package blog.naver.com; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; public class FileWriteHelper { private static final String LOG_FOLDER_PATH = "C:\\Users\\Admin\\Desktop\\logs"; private static final String LOG_FILE_PATH = LOG_FOLDER_PATH + "\\log2.txt"; public stati..
-
(JAVA) 자바 파일 탐색 & 재귀호출카테고리 없음 2018. 8. 24. 13:47
package blog.naver.com.explorer; import java.io.File; public class FileSystemExplorer { public void printFileSystem(String path) { // 1. 파일 객체 생성 (path 정보를 가지는 파일 만듬) File directory = new File(path); // 현재 경로를 파일 객체로 생성 // 1-1. directory 안의 내용을 탐색한다. String[] contents = directory.list(); File file = null; // 2. directory 객체의 내용이 폴더인지 파일인지 구분한다. for (String content : contents) { file = new File(d..
-
(JAVA) 자바 파일(File) 객체 입력 &출력 관련 메소드JAVA/컨셉 , 예제 2018. 8. 24. 13:45
자바 콘솔 프로그램에서는 재귀 프로그램을 접할 일이 많다고 한다. 그중 가장 큰 이유가 파일 탐색 및 제어에 있다. 오늘은 파일 객체 입력 & 출력 메소드 사용 방법에 대해 포스팅.1. 바탕화면에 newfolder 생성2. newfolder 내부에 다음과 같이 폴더 생성.3. java 폴더 안에 다음과 같이 폴더 및 텍스트 파일 생성4. java 폴더의 빨간 박스 클릭해 경로 복사해 다음과 같이 코드 작성한다. 모든 파일을 탐색하는 프로그램을 작성하는 절차는 다음과 같다. 객체 생성 방법 : File 파일명 = new File(파일 경로); // 파일 경로는 String 주요 메소드 및 파일 탐색 절차 isDirectory() : 폴더인 경우 true, 파일인 경우 false 리턴 list() : 파일 ..
-
(JAVA) 객체지향 프로그래밍 예제 & toStringJAVA/컨셉 , 예제 2018. 8. 24. 13:44
객체지향 프로그래밍은 무엇일까? 모든 데이터를 오브젝트(object;물체)로 취급하여 프로그래밍 하는 방법으로, 처리 요구를 받은 객체가 자기 자신의 안에 있는 내용을 가지고 처리하는 방식 ( 출처 : http://terms.naver.com/entry.nhn?docId=1128207&cid=40942&categoryId=32837 ) 이라고 구글링하면 나온다. 개인적으로 절대 와닿지 않을 정의라고 생각한다. 심지어 정의도 굉장히 많이 나오기 때문에 무엇이 맞는 것인지도 확실하게 하기 힘든 실정이다. 따라서 이해를 토대로 자신의 정의를 확립하는 것이 중요하다고 생각한다. 내가 정립한 객체지향 프로그래밍은 "세계의 축소판"이다. 여러가지 객체들이 각기 다른 도구(변수)들을 가지고 각자의 동작(메소드)를 해..
-
(JAVA) 생성자(Constructor) & SetterJAVA/컨셉 , 예제 2018. 8. 24. 13:42
클래스의 객체는 다양한 멤버 필드를 갖고 있을 것이다. 학생의 경우를 예로 들면 이름, 나이, 대학교, 전공 등을 멤버 필드로 둘 수 있다. public class Student { private String name; private int age; private String uni; private String major; // 다른 클래스에서 private 멤버변수에 무분별한 접근 및 제어 // 방지하기 위해 setter 함수에 특정 조건을 걸도록 함. public void setName(String name){ if(name.length() == 3) this.name = name; } public void setAge(int age){ this.age = age; } public void setUn..
-
(JAVA) 자바 문자열 출력 방법.JAVA/컨셉 , 예제 2018. 8. 24. 13:39
보통 문자열 출력을 위해 사용했던 메소드 sysout. System.out.println이지만 이클립스 및 STS에서 sysout만 치고 Ctrl+s 누르면 자동완성 해주기 때문에 sysout만을 사용한다. System.out.println("Hi");문자열에 숫자를 넣어서 출력하고 싶다면 + 연산자를 사용해야 하는데 그것이 많게 되면 +를 입력하는 것도 번거롭게 느껴진다. 이러한 문제를 String 클래스의 메소드를 이용해 해결할 수 있다. 포맷은 C언어의 printf와 거의 같다. double avr = 10.0; String msg = String.format("average : %.2f", avr); System.out.println(msg);다음과 같이 사용하면 일일이 문자열과 숫자를 더해 형변..
-
(JAVA) 자바 foreach카테고리 없음 2018. 8. 24. 13:34
학부수준에서는 자바, c, c++ 등에서 for문을 굉장히 많이 접할 것이다. 실무에서도 for를 가장 보편적으로 쓸 것이라 생각했지만 foreach를 오히려 더 많이 사용한다고 한다. 배열의 모든 원소를 순차로 탐색하는 경우 그 속도가 월등히 빠르기 때문이라고 한다. 사용법 : for(dataType dataName : dataList){ dataList의 값을 dataName으로 접근해 제어 가능 } int[] scores = {1,2,3,4,5,6,7,8,9,10}; int sum = 0; for(int i : scores){ System.out.println(i); }scores 배열의 인덱스 값을 순차대로 i에 넣고 원하는대로 제어. 배열 모든 원소 순차탐색하는 경우에 사용 가능