자바
-
(JAVA) 자바 인터페이스(Interface)JAVA/컨셉 , 예제 2018. 8. 24. 13:54
추상클래스의 특징에 대해 정리하면 1. 추상 메소드가 포함되어 있다. (abstract 키워드 사용) 2. 객체를 생성할 수 없다. (추상 메소드가 있기 때문) 3. 다른 클래스에서 상속받아 사용한다. (extends 키워드 사용) 인터페이스(Interface)는 추상메소드만으로 이루어진 추상 클래스라고 이해하면 편하겠다. 추상클래스와의 대표적 차이점은 1. 인터페이스를 구현하는 메소드가 모두 추상 메소드이다. 추상클래스는 추상메소드와 구현된 메소드 모두 있어도 무방. 2. 추상 클래스는 extends , 인터페이스는 inplements로 기능 상속. 3. 추상클래스는 하나의 클래스만 상속가능, 인터페이스는 다중 상속 가능. 자바의 특징 중 하나인 다형성을 더 효과적으로 제공하기 위해 등장. packag..
-
(JAVA) 자바 추상 클래스(abstract class)JAVA/컨셉 , 예제 2018. 8. 24. 13:53
추상 : 어떤 사물이 직접 경험하거나 지각할 수 있는 일정한 형태와 성질을 갖추고 있지 않은, 또는 그런 것이다. 포인트는 일정한 형태이다. 자바에서는 일정한 형태를 갖추면 완벽하게 구현되어 있지 않더라도 메소드나 클래스의 선언을 허용해주겠다는 것이다. 이때 사용하는 키워드가 abstract이다. 특징을 정리하면 1. 추상 메소드가 포함되어 있다. (abstract 키워드 사용) 2. 객체를 생성할 수 없다. (구현부분이 없는 메소드가 있기 때문) 3. 다른 클래스에서 상속받아 사용한다. (extends 키워드 사용) package blog.naver.com; public abstract class CoffeeMachine { protected int atm = 9; public void espresso..
-
(JAVA) 자바 상속 & 오버라이딩(Over riding)JAVA/컨셉 , 예제 2018. 8. 24. 13:52
자바의 가장 중요한 특징 중 하나가 상속이다. 상속을 해주는 클래스를 super class, 받는 클래스를 sub class라 한다. 상속이 무엇인가 유산을 물려받음과 같이 자바에서는 super class로부터 메소드를 물려받아 사용할 수 있다. 이때 사용하는 키워드가 extends이다.다음 클래스에서 작성한 메소드는 start와 main 두개뿐이다. 리턴 타입 뒤에 해당 메소드가 작성되어 있는 클래스가 적혀 있다. 나머지 메소드들은 Object 클래스에서 작성되었다는 말이다. quals 메소드에 ctrl 누르고 클릭해보면다음과 같이 메소드가 나온다. 스크롤을 맨 위로 올려보면Object 클래스가 나온다. 우리가 Object 클래스를 기본적으로 상속받아서 메소드들을 사용할 수 있는 것임을 기억하자. pa..
-
(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 ) 이라고 구글링하면 나온다. 개인적으로 절대 와닿지 않을 정의라고 생각한다. 심지어 정의도 굉장히 많이 나오기 때문에 무엇이 맞는 것인지도 확실하게 하기 힘든 실정이다. 따라서 이해를 토대로 자신의 정의를 확립하는 것이 중요하다고 생각한다. 내가 정립한 객체지향 프로그래밍은 "세계의 축소판"이다. 여러가지 객체들이 각기 다른 도구(변수)들을 가지고 각자의 동작(메소드)를 해..