첫 수업. 맥북으로 듣기 어렵지 않을까 생각했는데, 아직까지는 별 문제없다. 오히려 맥북이 더 편하지 않나 생각중. 수업용으로 설치한 JDK는 8버전. homebrew로 이클립스를 설치하려고 했으나, homebrew로 설치가능한 이클립스 4.17버전은 JDK11 이
ligature 폰트 중 ligature가 있는 폰트가 있는데, 이런 폰트는 연산자를 입력할 경우 합쳐서 표시가 된다. 예를 들어 >=의 경우 위아래로 결합된 형태로 표시된다. 이런 폰트를 사용할 경우 ligature를 지원하는 IDE를 사용해야 한다. 자바프로젝트
캐럿과 carriage return textarea를 클릭했을 때 깜빡거리는 커서. carriage return('\r')을 사용하면 캐럿이 제일 처음으로 이동한다. 이 경우, 안녕하세요.까지 출력하고 \r을 만나기 때문에 안녕하세요.의 제일 앞으로 캐럿이 옮겨가
위와 같이 실행할 경우, 원래 입력한 문자가 나온다. read()는 입력받은 문자를 문자코드값으로 돌려주기 때문에 int형으로 받고, 그렇기 때문에 %d를 이용하여 출력하면 문자코드의 숫자로 출력이 된다.위 경우 실행하여 A를 입력하게 되면 출력값은 아래와 같다.이
유효성 검사(Validation Check) 데이터가 프로그램상에서 쓸모가 있는 값인지 아닌지를 판단하는 작업
메서드 메서드(Method) 혹은 함수(Function), 프로시저(Procedure), 서브루트(Sub Routine) 등. 메서드라는 표현을 쓰는 것이 좋다. 특정 목적을 가지고 행동하는 코드의 집합. 재사용이 가능한 단위 요소. 메서드를 사용하면 코드 재사
Date클래스(legacy) : 사용 안함Calendar클래스 : 주로 사용다음 세대 클래스틱(Tick), 에포크(Epoch), 타임 스탬프 : 특정 시각으로부터 흐른 누적 시간 시간과 시간의 덧셈은 Calendar를 사용하면 안된다. Int를 사용하여 해결한다.Cal
Calendar 클래스의 데이터를 출력하려면 time의 약자인 t가 붙은 컨버전을 이용해야 한다.%tY: 현재의 날짜를 년도를 생략없이 출력한다. (ex. 2014)%ty: 현재의 날짜를 년도를 앞자리 생략하여 출력한다. (ex. 14)%tm: 현재의 날짜를 01~1
난수 임의의 수. 난수생성은 Math.random() 이용. 0.0~0.999999999999 사이의 값 반환. 0(inclusive) ~ 1(exclusive)
setXXX() : 값 대입(쓰기) getXXX() : 값 반환(읽기) isXXX() : 확인. true/false 반환
비즈니스 코드(업무코드) 프로그램이 하려고 했던 주된 업무를 구현한 코드 예외 처리 코드 제대로 된 사용법을 지키지 않아 발생한 오류를 처리하기 위한 코드 charAt(int index) - char 반환 원하는 위치의 문자를 추출하는 메서드. 추출 메서드.
배열 생성 자바의 배열은 동적할당이 가능하다. 자바 배열의 길이는 컴파일단계에서 정해지지 않고, 아래처럼 런타임단계(실행중)에서 결정할 수 있다. 배열의 복사 얕은 복사(Shallow Copy) 깊은 복사(deepcopy) clone() Arrays.copy
편하긴 하지만 위처럼 출력되면 보기 불편하므로 아래와 같이 코드를 써도 된다.num의 자료형은 int(integer 2차원 배열)이다. 순서를 중요. C. 객체를 중심. C++, Java, C F 데이터(Data)행동(Behavior)상태(State)캡슐화(Encaps
멤버 접근 연산자 클래스 Point의 인스턴스 p1을 예시로 보면 아래와 같다. 멤버변수(필드라고도 함)에 들어있는 데이터를 객체의 상태라고 한다. 접근 지정자(제어자)(Access Modifier) public, private, protected, defau
파일 1개당 클래스 1개 정의(권장사항). 목적이 같은 코드를 물리적으로 분리시켜 코드 관리가 효율적으로 이루어지도록 한다. 파일명만 봐도 어떤 클래스가 있는지 알아볼 수 있도록. 그리고 재사용도 편해진다. 반드시 클래스명과 파일명이 동일해야 한다. 동일하지 않으면 컴
static키워드 클래스 멤버에게 붙이는 키워드. 멤버 변수 멤버 메서드 같은 틀(클래스)에서 찍어낸 인스턴스들이 서로 다른 값을 가지는 경우와 공통된 값을 가지는 경우가 있다. 메모리상에서 static에의 접근(! 그림그려넣기) 클래스 로드 : 클래스 선언
메서드 오버라이드(Method Override) 메서드 재정의. 기존의 메서드를 무시하고 새로 구현한다. 메서드 헤더는 그대로 두고 메서드 바디를 재정의. 상속에서 발생 > 자식 클래스에서 발생하는 일. **부모가 물려준 메서드를 그대로 명시적 선언하게 되면 부모 메
추상클래스와 유사. 객체 생성 불가능. 변수 생성 가능(참조형 형변환). 추상메서드 소유 가능.추상클래스와 차이구현 멤버를 가지지 못함일반 변수, 일반 메서드 가지지 못함 -> 구현부를 가질 수 없음추상메서드의 집합 -> 규칙! 추상메서드만 올 수 있다!인터페이스의 멤
예외 컴파일에서는 발견되지 않지만(문법 오류가 아니기 때문) 실행 중 오류(런타임오류)가 발견되는 경우. 예외처리 전통적인 방식 제어문 사용(조건문) 예외 처리 구문 try catch finally 전통적 방식과 예외 처리 구문은 작동방식이 다르다. 가독성
컬렉션 (향상된)배열. 배열을 감싼 클래스(물리적 구조 상). 배열의 길이가 가변.(실행중 늘리거나 줄이는 게 가능). 배열을 사용 목적에 따라 사용법이나 구조를 특화시켜 미리 제공. List 인터페이스 ArrayList, LinkedList, Stack, (Qu
Arrays.binarySearch(this.list, value) 이진탐색알고리즘을 이용하여 검색. HashMap ArrayList vs HashMap ArrayList : List인터페이스를 구현한 배열(Array). 스칼라 배열(Scalar Array) ->
파일 파일 경로는 바뀌면 안되는 경우가 많기 때문에 final(상수)로 선언. 폴더 월이 0부터인 이유? 요일 0(일요일)부터인 이유? 월, 요일 데이터는 숫자가 아니라 배열의 개념으로 시작했기 때문. 시작 1 : 수치로써 사용되는 데이터 시작 0 : 배열,
파일 입출력 자바 프로그램 파일(HDD) 콘솔 입출력 방식과 인터페이스 유사 주기억장치(휘발성) 보조기억장치(반영구적) 텍스트 입출력 문자데이터 입출력. 바이너리 입출력 이미지, 동영상, 압축파일, 실행파일 등. 비문자 데이터 입출력. 인코
익명객체(Anonymous Object) 이름이 없는 클래스(객체) 반드시 인터페이스를 사용해서 생성(상속 관계 이용)
순서가 없는 배열. 방번호(index)가 없음. 중복값을 가질 수 없음. HashSet, TreeSet. Tree구조를 가지는 Set. 중복값X, 순서X, 정렬X. 이진트리구조를 기반으로 자동 정렬이 되는 Set. 정렬된 상태에서의 Set이 필요할 때 사용. 검색에
코드를 입력하세요Ex84 : 람다식 이해. 내가 람다식을 직접 만들어서 직접 사용Ex85 : JDK에서 제공하는 여러 람다식과 관련된 기능을 사용하고 싶으면...Ex85는 자바에서 미리 만든 JDK를 사용하는 방법!우리가 람다식을 사용하려면 인터페이스를 만들어야 하는데
스트림(Stream)
JDK는 오라클 홈페이지에서... 제일 처음 수업을 들을 때 왜 그랬는지 모르겠는데 난 homebrew를 통해서 OpenJDK를 설치했었다. 그렇게 수업 잘 듣고 있었는데... 문제는 데이터베이스과목으로 넘어가면서 시작. 오라클 설치도 문제없었고, 오히려 자바 때처
SQL 구문을 실행해주는 역할(대리자)모든 SQL을 실행할 수 있다.Statement기본 클래스PreparedStatementStatement 개량 클래스 -> 매개 변수 처리에 특화안정성 높음 + 가독성 높음코드량 많음CallableStatementStatement