전체 글
-
TIL_6(Exception Handling, Network)TIL 2020. 9. 2. 18:53
[예외처리] 1. Exception vs. Error Exception Error 개발자가 대처할 수 있다. 개발자가 대처할 수 없다. 코딩문제로 발생. 소프트웨어 문제, 전력차단, 서버 다운 등의 문제. 2. Exception 유형 Checked Exception: 예외처리를 반드시 해야 하는 경우(네트워크, 파일 시스템 등) Unchecked Exception: 예외처리를 선택적으로 하는 경우(데이터 오류 등) 3. Exception 하위 클래스 NullPointerException, NumberFormatException, NumberFormatException 등이 있다. 3. try ~ catch finally int i = 10; int j = 0; int r = 0; System.out.pr..
-
TIL_5(Input&Output)TIL 2020. 9. 1. 21:43
입력과 출력이란? 입력: 다른 곳에서 데이터를 가져오는 것. ex) 파일읽기, 이미지 동영상 불러오기 출력: 다른 곳으로 데이터를 내보내는 것. ex) 파일쓰기, 이미지 동영상 내보내기 입/출력 기본 클래스 InputStream, OutputStream: 입/출력에 사용되는 기본 클래스. 데이터를 1byte단위로 데이터를 전송. FileInputStream / FileOutputStream: 파일에 데이터를 읽고/쓰기 위한 클래스 read(), write() 메서드 사용 DataInputStream / DataOutputStream: byte 단위의 입출력을 개선해서 문자열을 좀 더 편리하게 다룰 수 있다. BufferedRead / BufferedWriter: byte 단위의 입출력을 개선해서 문자열을..
-
TIL_4(Lambda Expressions, StringBuffer & StringBuilder, Collections)TIL 2020. 8. 31. 21:53
[Lambda Expressions(람다식)] 익명 함수를 이용해서 익명 객체 생성하기 위한 식이다. 람다식은 기본적으로 함수를 만들어 사용한다. Interface Type 변수를 활용한다. LamdaInterface3 li3 = () -> System.out.println("no parameter"); LamdaInterface5 li5 = (x, y) -> { int result = x+y; return result; }; li3.method(); li5.method4(); [문자열 클래스 - StringBuffer, StringBuilder] StringBuffer 만들어진 이유: 문자열을 다루는 String 클래스(객체)는 데이터가 변화하면 메모리상의 변화가 많아 속도가 느리다. 새로운 객체를 만..
-
TIL_3 (abstract class)TIL 2020. 8. 29. 15:32
[추상클래스(abstract class)] 클래스의 공통된 부분을 뽑아서 별도의 클래스(추상클래스)로 만들어 놓고, 이것을 상속해서 사용한다. 특징: member variable(멤버변수), constructor, method가진다. abstract class를 상속하기 위해 extends키워드 이용. abstract method를 가지며, 상속받은 클래스에서 반드시 구현해야 한다. 활용 예: 공통적으로 사용하는 기능을 구축해놓고 부가적인 기능들은 추상 클래스를 활용하는 사람이 구축하도록 설정 예: 은행앱-입금, 인출과 같은 필수적 기능 구축 / 은행지점위치검색과 같은 기능들은 추상클래스로 설정 [interface vs abstract class] 공통점: 추상 메서드를 가진다. 객체 생성이 불가하여 자..
-
TIL_2 (abstract class, inner class, anonymous class, interface)TIL 2020. 8. 28. 22:39
내부 클래스(inner class): 클래스 안에 클래스 가독성 떨어져서 잘 사용되지 않음. 익명 클래스(anonymous class) : 이름이 없는 클래스 재사용이 불가하여 바로 사용 인터페이스나 추상클래스에서 주로 이용됨. Interface(인터페이스): interface를 사용하지 않아도 객체지향프로그램을 사용할 수 있다. 하지만 더욱 체계적인 프로그램을 만들 수 있다. object를 생성할 수 없다. class에서 구현해야 하는 작업 명세서. 인터페이스를 사용하는 이유는 많지만, 객체가 다양한 자료형(타입)을 가질 수 있기 때문이다. interface 키워드 사용. implements 키워드 사용
-
TIL_1 (package, static, private, getter&setter, inheritance)TIL 2020. 8. 27. 21:54
패키지(pakackage): 도메인을 거꾸로 표시하여 표기하는것이 일반적인 표기법(다른 패키지와 구분되는 표기가능) 다른 패키지와 구분되고 비슷한 의미를 가진 클래스들을 묶는다. 누가봐도 어떤 기능을 담당하는지 알 수 있는 패키지 이름 구성 refactor기능을 통해 rename, move가능 static: 다른 객체에서도 데이터를 사용할 수 있게 허용 주의할 점: 효율적으로 사용하지 못하면 메모리에 부담, 나중에 복잡해짐 private 접근자: class 내부에서만 값을 변경할 수 있다. 이름, 점수, 급여와 같이 중요하거나 한번 설정되면 바뀔 필요가 없거나 잘 못 변경되면 큰 혼란을 초래하는 데이터는 private으로 보호한다. private이 속해있는 class에 method를 활용하여 값을 변경할..