Java 관련/Java

    [Java] 네트워킹(네트워크 데이터 입력 및 출력)

    [Java] 네트워킹(네트워크 데이터 입력 및 출력)

    네트워크 대상 사이에 입.출력(InputStream / OutputStream)을 이용해서 데이터를 입력하고 출력합니다. 네트워크 대상이라고하면 객체를 말하는데요. 네트워크를 이용한 네트워크에서 이루어지는 데이터 전송을 네트워크 데이터 입력, 출력이라고 합니다. 그런데 네트워크 상에서 데이터를 주고 받기위한 장치로 소켓(Socket)을 사용합니다. 소켓이란 무엇일까요? A라는 객체와 B라는 객체가 있다고 가정했을때 A에서 입력 B에서 출력을 하는 것을 네트워크 데이터 전송이라고 하는데 서로 다른 객체간에 데이터를 입력하고 출력하는 장치를 소켓이라고합니다. 쉽게 생각하면 전화기라고 생각하면 됩니다. 내가 누군가한테 전화를 하게 된다면 전화를 하기위한 장치가 필요하죠. 그 장치가 전화기이며 네트워크에서는 소..

    [Java] 복사 Copy(FileInputStream / FIleOutputStream)

    [Java] 복사 Copy(FileInputStream / FIleOutputStream)

    import java.io.FileInputStream; import java.io.FileOutputStream; public class MainClass { public static void main(String[] args) { InputStream inputStream = null; OutputStream outputStream = null; try { inputStream = new FileInputStream("C:\\java\\hello.txt"); outputStream = new FileOutputStream("C:\\java\\helloCopy.txt"); byte[] arr = new byte[3]; while(true) { int len = inputStream.read(arr); ..

    [Java] FileOutputStream

    [Java] FileOutputStream

    이번에는 FileOutputStream의 두가지 형태를 알아볼건데요 write(byte[] b); wirte(byte[] ,int off, int len); 이런 형태로 사용합니다. write(byte[] b)는 전체 쓰기를 의미하고 write(byte[] b, int off, int len)의 off는 시작점을 의미하고 len은 길이를 의미합니다. import java.io.FileOutputStream; public class MainClass { public static void main(String[] args) { // write() OutputStream outputStream = null; try { outputStream = new FileOutputStream("C:\\java\\hell..

    [Java] FileInputStream

    [Java] FileInputStream

    자바에서 입력과 출력을 위해 주로 FileInputStream과 FileOutputStream을 사용합니다. FileInputstream은 read()메소드가 있는데 이것은 크게 두가지 형태로 사용됩니다. read(); read(byte[]); 이런 두가지 형태인데요. read()는 1바이트씩 읽고 read(byte[])는 배열의 크기만큼 읽습니다. import java.io.FileInputStream; public class MainClass { public static void main(String[] args) { // read() InputStream inputStream = null; try { inputStream = new FileInputStream("C:\\java\\hello.txt"..

    [Java] Static(스태틱)

    [Java] Static(스태틱)

    변수나 메소드에서 static이라는 키워드를 흔히 볼 수 있었습니다. 이 static은 무엇을 의미할까요?? 예를 들어 한 회사에 컴퓨터가 40대 있다고 가정해봅시다. PC가 40대 있다고 프린트기를 40대를 둘수는 없겠죠. 그래서 40대의 PC가 모두 연결된 프린트기를 사용해야합니다. 40대의 PC는 각기 다른 객체이지만 하나의 프린트기를 공유해서 사용하는 것이지요. 이처럼 static키워드로 선언이 된다면 하나의 객체로 공유하게 됩니다. package com.cine.bankbook; public class SalaryPassbook { String name; static int amount = 0; public SalaryPassbook(String name) { this.name = name; }..

    [Java] import(임포트)

    [Java] import(임포트)

    자바에서 import는 무엇일까요?? 또 어떻게 사용될까요?? 일반적으로 같은 패키지 내에 있는 클래스를 사용할때는 그냥 사용할수가 있습니다. new 키워드를 통해 객체를 생성할수 있죠. 하지만 다른 패키지에 있는 클래스를 사용할 때는 어떻게 해야할까요?? package com.cine.developer public class Developer { } package com.cine.employee; public class Employee { } com.cine.developer 패키지 안에 있는 Developer클래스가 있습니다. 이 Developer 클래스를 com.cine.employee 패키지 안에 있는 Employee 클래스에서 사용하려면 어떻게 해야할까요?? package com.cine.emp..

    [Java] 패키지(package)

    [Java] 패키지(package)

    자바 프로그램은 수 많은 클래스로 구성이 됩니다. 이렇게 많은 클래스들을 어떻게 관리할까요?? 자바에서는 폴더 형식으로 관리를 하게 되는데요, 이러한 것을 패키지라고 합니다. 이와 같은 방식으로 관리를 하게 되는데요. 하나의 폴더 안에 모든 클래스가 다 들어가 있으면 관리하기가 어려울 것 입니다. 관리가 어렵다는것 곧 유지보수가 힘들어 진자는 것이죠. 상황이나 어떤 집단이냐에 따라 다르겠지만 어디서도 기본적으로 패키지 이름을 짓는 약속을 하게 됩니다. 기본적으로 패키지 이름을 지을때도 규칙이 있습니다. 패키지 이름은 패키지에 속해 있는 클래스가 최대한 다른 클래스와 중복되는 것을 방지하도록 만들어야합니다. 만약 fullTime패키지와 partTime패키지가 있다고한다면 fullTime 패키지에서는 각각 ..

    [Java] 익명(anonymous) 클래스

    [Java] 익명(anonymous) 클래스

    익명클래스는 이름이 없는 클래스로 주로 메서드를 재정의하는 목적으로 사용이 됩니다. // AnonymousClass package MTest01; public class AnonymousClass { public AnonymousClass() { System.out.println("익명클래스 생성자"); } public void method() { System.out.println("--익명클래스 메소드 시작!--"); } } new AnonymousClass() { @Override public void method() { System.out.println("--익명클래스 재정의 메소드 시작!--"); }; }.method(); AnonymousClass를 객체로 만들어 사용하려면 AnonymousCl..

    [Java] 자바의 탄생과 특징

    [Java] 자바의 탄생과 특징

    자바는 현존하는 언어중에 가장많이 쓰이는 언어중에 하나입니다. 흔하게 이용하는 웹서비스에도 자바가 이용되고 모바일에 이용되는 어플리케이션을 만들때도 자바를 사용합니다. 그 외에도 많은 산업분야에서 쓰이는 언어이므로 자바를 할수 있다면 많은 산업분야에 적용을 할수 있겠습니다. 그렇다면 프로그래밍이란 무엇일까요?? 한국인이 외국인과 소통하기위해 통역이 필요한 것처럼 인간과 컴퓨터 사이에서도 통역이 필요합니다. 인간이 알아들을수 있는 언어. 즉, 고급언어(소스코드)를 컴퓨터가 알아들을수 있는 기계어. 즉, 2진수로 번역시켜주는 컴파일 작업이 필요합니다. 이러한 과정을 도와주는 것을 컴파일러라고 합니다. 자바 뿐만아니라 C언어나 C++등에도 컴파일러가 존재합니다. 자바라는 언어는 1995년 제임스 고슬링(Jam..

    [Java] 람다식(Lamda Expression)

    [Java] 람다식(Lamda Expression)

    우선 람다를 알아보기전에 oracle 공식 홈페이지로 잠깐 이동해볼까요? https://www.oracle.com/index.html 홈페이지에 들어가셔서 Resources를 눌러주세요 ​ Documentation으로 갑니다! ​ Java를 눌러주시구요!! ​ Java SE Technical Documentation을 눌러주세요 ​ Java SE로 들어가주시면요 ​ 람다는 JDK8버전부터 나왔다고합니다 JDK 8을 눌러주세요! ​ Java Tutorials Learning Paths로 이동합니다. ​ 드디어 람다식을 찾았네요!! ​ 람다에 대한 설명이 나와있습니다~ ​ Lamda Expression이라고하네요 Expression 즉, 식입니다. 표현식(Expression)과 구문(Statement)이라는..