본문 바로가기

JAVA/- JAVA 프로그래밍 입문

[JAVA]자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지! DAY-9

 

 

람다식이란?

익명 함수를 이용해서 익명 객체를 생성하기 위한 식이다.

 

 

람다식 구현

 

람다함수를 만들고

메인에서 객체를 만들고 바로 쓸 수 있다. -> 다음이 동작 부분이다.

 

람다함수 특징

 

변수에다가 함수를 담아둘 수 있다.

인터페이스로 껍데기를 만들고 인터페이스 타입의 변수를 만들어서 사용할 수 있다.

 

String 객체와 메모리

문자열을 다루는 String 클래스(객체)는 데이터가 변화면 메모리상의 변화가 많아 속도가 느리다.

 

 

문자열이 변경되면 새로운 메모리 공간을 차지하는 것이다.
한번 더 카피했다가 _8을 붙힌다.
이는 미세하게 시간이 많이 걸린다.

 

 

 

StringBuffer, String Builder

String 클래스의 단점을 보완한 클래스로 데이터가 변경되면 메모리에서 기존 객체를 재활용한다.

 

str의 메모리 주소가 같다.
StringBuulder
StringBuffer는 비슷하다.

 

객체.length()로 문자열의 길이를 알 수 있다.
객체.insert(위치, 넣을 문자열) 로 문자열을 넣을 수 있다.
객체.delete(start,end)로 시작과 끝을 삭제할 수 있다.

 

 

 

 

 

자료형Collections

 

List 

인터페이스로 이를 수형한 클래스는 인덱스를 이용해서 데이터를 관리한다.

 

 

ArrayList 많이 쓴다.

ArrayList는 인덱스로 관리된다. ArrayList안에는 String으로 체워질 것이다 라는 의미

add()로 들어간 문자열 “Hello”는 인덱스가0 “World”2이다.

 

 

list 객체의 함수들

 

 

Map 

인터페이스로 이를 구현한 클래스는 key를 이용해서 데이터를 관리한다.

list는 인덱스가 자동으로 늘고 줄고 했는데 Mapkey를 이용한다.
내가 키도 만들어야 한다.

 

 

 

 

예외란?

프로그램에 문제가 있는 것을 말하며, 예외로 인해 시스템 동작이 멈추는 것을 막는 것을 예외처리라고 한다.

 

 

 

Exception 클래스

Exception 클래스 하위클래스로 NullPointerExceoption, NumberFormatExceoption 등이 있다.

 

 

try ~ catch

개발자가 예외처리하기 가장 쉽고, 많이 사용되는 방법이다.

 

printStackTrace – 애러를 알려준다.

getMessage – 예외를 간략하게 나타낸다.

 

before 후에 애러가 발생하고 catch로 넘겨서 printStackTrace()로 어떤 에러가 발생했는지 알려주고
msg
에 예외가 나온다.

 

 

 

 

다양한 예외처리

exception및 하위 클래스를 이용해서 예외처리를 다양하게 할 수 있다.

try에서 에러가 발생하면 catch가 바로잡고 밑에 부분은 실행하지 않는다.

 

 

 

finally

반드시 실행한다.

 

 

 

 

throws

 

try문에서 firstmethod()를 호출하면 거기서 또secondmethod를 호출하고 thirdmethod를 호출한다. thirdmethod에서 애러가 발생하면 throwssecond로 밀고 first로 민다. 그래서 catch에서 잡는다.

 

 

 

 

 

/출력 이란?

다른 곳의 데이터를 가져오는 것을 입력이라 하고, 다른 곳으로 데이터를 내보내는 것을 출력이라고 한다.

 

 

 

 

 

/출력 기본 클래스

 

/출력에 사용되는 기본 클래스는1byte단위로 데이터를 전송하는 inputStream, OutputStream이 있다.

 

 

 

 

 

 

FileInputStream / FileOutputStream

파일에 데이터를 읽고/쓰기 위한 클래스로 read(), write() 메서드를 이용한다.

byte[]를 주면 배열의 크기만큼 읽어온다.

 

while문을 이용해 inputStream에 있는 것은1byte씩 읽어왔다.
예외처리를 해줘야 한다.

 

 

 

 

write하는 법

String 타입의 data 객체를 getBytes()메서드를 써서 byte 배열에 넣어둔다음 쓴다.

 

 

 

 

 

DataInputStream, DataOutputStream

 

byte단위 입출력을 개선해서 문자열을 좀더 편하게 다룰 수 있다.
byte
를 쓰지 않고 문자열로 받아서 쓴다.

outputStream을 매개변수로 DataOuputStream 때문이다.

 

 

 

 

 

BufferReader, BufferdWriter

문자단위로 입력, 출력을 한다.

728x90