JAVA/컨셉 , 예제
-
(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) 자바 스캐너(Scanner)로 파일 내용 읽어오기JAVA/컨셉 , 예제 2018. 8. 24. 13:33
스캐너는 표준 입력(Stdin, 키보드)을 받을 수 있도록 돕는 객체이다. String을 비롯한 primitive 타입들로 변환해 받을 수 있도록 메소드들을 제공하고 있다. 주요 메소드와 특징 간단하게 정리하자면 next()문자열 반환함수. 공백(space)를 만나면 종료된다.nextLine()문자열 반환함수. 개행(Enter)를 만나면 종료된다. next()와 달리 띄어쓰기를 할 수 있다.nextInt() int 타입 반환함수. nextDouble()double 타입 반환 함수.package com.naver.cafe.club.biz; import java.util.Scanner; public class ScannerExample { public static void main(String[] args)..
-
(JAVA) 자바 래퍼(Wrapper) 클래스JAVA/컨셉 , 예제 2018. 8. 24. 13:31
개발자의 입장에서 문자열을 숫자로 바꾸어 원하는 연산을 할 수 있도록 가공하는 절차는 필수적이다. 하지만 문자열과 숫자는 데이터 타입이 다르기 때문에 형변환이 필수적이다. 일반적으로 문자열을 특정 토큰에 따라 나누는 split 메소드를 사용한다.다음과 같이 공백을 기준으로 String을 나누어 값을 출력한다. 여기서 모든 값들을 더하고 싶은 경우 어떻게 할까?System.out.println("sum of points : "+ msg[0]+msg[1]+msg[2]);다음과 같이 생각할 수도 있다. 하지만 결과는다음과 같이 50100200이 나온다. 데이터 타입이 문자열이고, 문자열에서 +연산은 단순히 문자를 이어쓰는 것에 불과하다. 산술 연산을 하지 않는다는 말이다. 이를 해결하기 위해 각각의 문자열을 ..
-
(JAVA) 자바 상수 (final) 사용이유와 방법JAVA/컨셉 , 예제 2018. 8. 24. 13:28
3개의 숫자를 입력받아 합계와 평균을 출력하는 프로그램은 다음과 같다. 20번째 줄에서 평균을 구할 때 직접 숫자를 넣어 값을 구하고 있다. 짧은 코드라면 큰 지장이 없겠지만, 코드가 방대해지면 이 3의 의미를 알기 힘들어지고 잘못 수정하는 경우 원하는 결과를 얻지 못할 우려가 있다. 이를 방지하기 위해 3과목의 평균을 구하는 역할만을 한다면 3을 상수로 저장해 이후 수정을 하지 못하도록 final 키워드를 제공하고 있다. import java.util.Scanner; public class Final { void printfSumAndAverage(){ final int CLASS_CNT = 3; Scanner input = new Scanner(System.in); System.out.println(..
-
(JAVA) 자바 형변환 ( Type Casting )JAVA/컨셉 , 예제 2018. 8. 24. 13:27
자바는 숫자를 표기법에 따라 다른 데이터 타입으로 인식한다. int (4 byte) : 10, 20, 30... long(8 byte) : 10L, 20L, 30L... double(8 byte) : 1.2, 10.34, 5.6... float(4 byte) : 1.2F, 10.34F, 5.6F... 10과 10L은 같은 값이지만 데이터의 타입이 달라지기 때문에 취급에 주의를 둬야 한다. long 타입의 변수에 int 타입의 변수를 할당하는 것은 문법적으로 문제가 없지만 int 타입의 변수에 long 타입의 변수를 할당하는 것은 Syntax error가 발생하게 된다. 그 이유에 대해 알아보자. 데이터 타입은 자바에서 매우 중요하다. 변수를 선언한 타입에 맞춰 값을 할당해야 하고, 그렇지 않으면 에러가 ..