。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

[네이버클라우드] 클라우드 기반의 개발자 과정 7기/웹프로그래밍 104

[NC7기-46일차(6월29일)] - 웹프로그래밍 27일차

파일 입출력 API 주요 클래스 (java.io 패키지) 1) 데이터 읽기 InputStream (추상 클래스) +-- FileInputStream : 바이트 단위로 읽기 (binary stream) Reader (추상 클래스) +-- FileReader : 문자 단위로 읽기 (character stream) 2) 데이터 쓰기 OutputStream (추상 클래스) +-- FileOutputStream : 바이트 단위로 쓰기 (binary stream) Writer (추상 클래스) +-- FileWriter : 문자 단위로 쓰기 (character stream) 1) 바이너리 파일 - character set(문자표) 규칙에 따라 작성한 파일이 아닌 파일. - 기본 텍스트 편집기(메모장, vi 에디터 등..

[NC7기-45일차(6월28일)] - 웹프로그래밍 26일차

외부라이브러리를 많이 경험해보는게 익숙해지기 좋아욥 ,,! search.maven.org : 라이브러리를 잔뜩 모아놓은 사이트 의존 라이브러리 정보를 빌드 스크립트 파일에 등록 라이브러리 다운 & 이클립스 갱신 - gradle eclipse - referenced library (user/.gradle/caches/module/file2.1) Eclipse IDE refresh 후 프로즈게트에서 외부 라이브러리 확인 소스 파일에 해당 라이브러리 클래스 적용 ! c:/Users/bitcamp/git/bitcamp-study/ bitcamp : 사용자 홈 폴더 git: git 저장소를 두는 폴더 bitcamp-study: git repository (모든 깃 저장소는 항상 .git이라는 폴더를 갖고있음) ...

[NC7기-44일차(6월27일)] - 웹프로그래밍 25일차 -2

팩토리얼 n! = (n-1)! * n package bitcamp.test; public class Test { public static void main(String[] args) { System.out.println(factorial(5)); } static int factorial (int value) { if (value ==1) { return 1; } return factorial(value -1) * value; } } 메서드 호출되면 jvm stack에 사용할 로컬변수가 만들어짐 재귀호출이면 stack에 만들어지구 만들어지구 꽉차면 무한루프 빠져서 stack overflow에 빠짐 재귀호출 : 수학식을 그대로 사용할 수 있어서 좋음 단점: 너무 많이 이루어지면 stack overflow 빠..

[NC7기-44일차(6월27일)] - 웹프로그래밍 25일차

Data I/O stream API I/O Stream API package: java.io.* , java.nio.* 1. file 클래스 사용법 file 클래스: file을 다루는 도구 2. Binary data I/O (입출력 ) 클래스 사용법 bite 단위로 I/O 대표 클래스 : FileInputStream, FileOutputStream 3. Data Processing 클래스 사용법 Stream(데이터 흐름: 데이터를 읽고 쓰는 것) 중간에서 데이터를 가공하는 것 사용 클래스: Buffered Input Stream, Buffered Output Stream DataInputStream , Data Output Stream : 바이트 단위로 쪼개는거, Object Input Stream, O..

[NC7기-43일차(6월26일)] - 웹프로그래밍 24일차

제네릭(Generic)적용 : Object 타입처럼 다양한 타입에 대응할 수 있다. : 특정 타입으로 제한할 수 있다. => 마치 각 타입 별로 클래스를 정의한 듯한 효과를 볼 수 있다. 1. 다형적 변수 적용 전 BoardHandler 데이터 저장 방식에 상관없이 일관된(통일된) 방식으로 데이터를 조회하기 LinkedList get(index)로 값 꺼내기 /리스트로 stack pop()으로 값 꺼내기 /LIFO Queue poll()로 값 꺼내기 /FIFO 통일된 방식 hasNext() / next() Iterator 데이터를 꺼내주는 일을 하는 객체 get() ArrayList get() LinkedList pop() stack pull() Queue *Iterator mechanism(구동원리) ..

[NC7기-42일차(6월23일)] - 웹프로그래밍 23일차 -2

Object 클래스 - getClass() : 해당 클래스의 정보를 리턴한다. basic.ex01 160-162 // 레퍼런스를 통해서 인스턴스의 클래스 정보를 알아낼 수 있다. Class classInfo = obj1.getClass(); 클래스 정보가 담겨있는 인스턴스 주소를 classinfo가 받는다. System.out.println(classInfo.getName()); // 패키지명 + 바깥 클래스명 + 클래스명 //fully qualified name System.out.println(classInfo.getSimpleName()); // 클래스명 170-174 Object 의 clone() new Score() => 인스턴스를 만듬 복제방법 1. 직접 복제한다. 즉 새 객체를 만들어 기존 ..

[NC7기-42일차(6월23일)] - 웹프로그래밍 23일차

A obj = new A2();라는 문장은 A 클래스의 변수 obj를 선언하고, new A2()를 통해 A2 클래스의 객체를 생성하여 obj에 대입하는 것입니다. 이렇게 하면 obj는 A 타입의 변수지만, 실제로는 A2 클래스의 인스턴스를 참조합니다. 내가 잘 모르는거: A2 extends A A obj = new A2(); A의 인스턴스, A2의 인스턴스 둘다 나옴 / 수퍼클래스의 변수 나오고, 그다음 서브꺼 나옴 A2 obj = new A(); 는 안됨 !! 상위 수퍼 클래스를 담을 수 없음. 하위 레퍼런스로 상위 레퍼런스를 가르킬수없음... 레퍼런스로 담을 수 있는건 같은 레벨이나 하위만 담을 수 있음 .. A obj = new A2(); obj.m() obj가 A2를 갖고 있음. obj는 A2를 ..

[NC7기-41일차(6월22일)] - 웹프로그래밍 22일차

스태틱 필드와 스태틱 블럭 package bitcamp.test; class A { static int v1; static void m1() {} static { System.out.println("A 클래스의 스태틱 블록 실행! "); //클래스가 로딩될때 바로 실행됨 } } //인스턴스를 만드려고 하는 시점, 메서드를 로딩하는 시점, 스태틱변수를 쓰려고하는 시점에 class 로딩됨 ! public class Exam01 { public static void main(String[] args) { A obj; // 레퍼런스변수를 선언할땐 A클래스가 로딩되지 않음 //A.v1 = 100; //클래스를 사용하는 시점(=인스턴스변수를 쓰려고 할때 )에 클래스가 로딩되고, //A.m1(); //위에서 로딩됐기..

[NC7기-40일차(6월21일)] - 웹프로그래밍 21일차

Composite, command, observer 패턴 활용 스피커 sound card, 프린터 write only 마이크 read only 1. Composite 패턴 활용 예) 메뉴를 포함하고 있는 메뉴 , 부서 구성원(직원, 임직원 포함하고 있는,,), 디렉터리 구조(파일을 포함하는) 패턴 구현 1. 메뉴 만들기 #. 접근 범위 제어 - private은 같은 클래스 멤버만 사용 가능 - default (package private) 같은 패키지 멤버만 접근 가능 - protected : (default) + 서브클래스 멤버 // 같은 패키지 접근 가능, 다른패키지는 안 됨. (D extends A이면 ,,, D클래스는 A클래스의 서브, 그 중 상속받은 멤버만 A에 접근 가능) - public 완전..