javaboiii의 JAVA/JAVA 기초 14

JAVA - 기초) 쪽지시험 오답노트(복생복사)

복습에 살고 복습에 죽..지는 말자 [2]오답:   5번 디버깅5. 빈칸에 들어갈 코드를 고르세요.public static void main(String[] args){ int[] data= {1,2,3,4,5,6,7,8,9,10}; for( ) { if(v%3==0) { System.out.print(v+" "); } }} [ Console 화면 ] 3 6 9① int i=0;i② int v=0;v③ int v=0;v④ int v:data[정답] ④0으로 나누면 나머지가 0인데 왜 생각을 못했을까배열과는 전혀 관계없는 낚시 문제인줄 알고제대로 읽지도 않고 생각을 하지도 않고 3번 찍고 넘겨버림 또한 i가 필요없기 때문에 빠른 for문을 사용하는 것이 더 ..

JAVA - 파일 입출력

JAVAFile 클래스는 파일 및 디렉터리 경로를 추상적으로 표현함FileInputStream / FileOutputStream : 바이트 단위 입출력FileReader / FileWriter : 문자 단위 입출력BufferedReader / BufferedWriter : 버퍼링된 문자 입출력 파일 입출력의 일반적인 패턴1. 스트림을 열고 사용하기 전에 리소스를 확보2. 데이터를 읽거나 쓰는 작업을 수행3. 스트림을 닫아 리소스 해제 입출력 예외 처리파일 입출력 작업은 I/O(input / output) 오류가 발생할 가능성이 높기 때문에 예외 처리가필수적임 대부분의 입출력 클래스는 메서드 IOException을 던질 수 있으므로 try - catch 구문을사용하여 예외처리를 해야함 [text파일 읽기]..

JAVA - 스레드(Thread)

JAVA스레드(Thread)프로그램에서 스레드는 실질적으로 일을 수행하는 주체 스레드는 프로세스 내에서 실행되는 하나의 흐름스레드가 여러 개 있으면 동시에 여러 작업을 수행 할 수 있음각 스레드는 독립적으로 실행되지만, 같은 프로세스 내에서 자원을 공유할 수 있음 프로세스(process)프로세스는 실행 중인 프로그램을 의미함각 프로세스는 독립된 메모리 공간을 가지고 있음하나의 프로세스 내에서 여러 스레드가 실행될 수 있음 자바에서 스레드는 다양한 역할을 수행하며,병렬 처리와 동시 실행을 가능하게 함 병렬처리스레드는 병렬 처리를 통해 여러 작업을 동시에 수행할 수 있게 함웹 서버에서 여러 클라이언트의 요청을 동시에 처리할 때 각각의 요청을 별도의스레드에서 처리함으로써 서버의 응답 속도를 향상시킬 수 있음 ..

JAVA - 예외처리

JAVA예외프로그래밍에서 예외란 비정상적인 프로그램 종료를 뜻함 사용자(클라이언트, 고객)이 프로그램을 이용하다가 예외가 발생하게 되면프로그램이 즉시 종료(비정상종료)되기 때문에예외를 개발자가 미리 처리해야됨 예외처리예외처리는 위와 같은 이유로 프로그램이 비정상적으로 종료되는 것을 예방하기 위함임 JAVA의 예외 처리 문법은try{}catch(예외클래스){}finally{}  try{}에는 예외가 발생할 수도 있는 코드예외가 아닐 시 아무일도 일어나지 않음 예외가 발생하면 즉시 catch문으로 이동됨catch{}에 작성한 예외클래스 catch문 어떤 예외가 발생할지 모르면Exception의 최상의 클래스 Exception을 등록 finally{}는 예외 발생여부와 무관하게finally{} 수행

JAVA - MVC패턴 feat.결합도, 응집도

JAVAMVC(Model, View, Controller)MVC패턴은 디자인 패턴중 하나이며 Model, view, Controller의 약자 입니다. 코드는 크게 두가지로 분류 할 수 있습니다.1. 사용자와 닿아 있는 부분 == 프론트엔드  == view(데이터를 조금 다룰 수 있음)2. 프로그램에서 기능을 수행하는 부분 == 백, 서버, DB프로그램에서 기능을 수행하는 부분도 2가지로 나눌 수 있는데1) DB & DBMS(MySQL, 오라클등..) == Model2) 서비스, Controller, 비즈니스 layer(단, 메서드) == Controller M V C 패턴으로 코드를 작성하면유지보수 용이보통 View에서 유효성 검사를 하기 때문에 View가 조금이라도 이상하면백단으로 넘어가지 않게 할 ..

JAVA - 컬렉션 프레임워크(배열리스트, 맵)

JAVA1. 컬렉션 프레임워크(Collection FrameWork)컬렉션 - 다수의 데이터프레임 워크 - 표준화된 프로그래밍 방식 컬렉션 프레임워크란 데이터 그룹을 저장하는 클래스들을 표준화한 설계가변적인 크기를 갖는 특징을 가지고 데이터 삽입, 탐색, 정렬 등 편리한 API를 제공함 모든 컬렉션들은 자료형을 제한하지 않고 저장할 수 있음그러나, 자료형 제한없이 사용하는 것은 개발자에게 불리함 1) toString() 오버라이딩이 되어있어서 전체출력이 예쁨2) 다양한 메서드들이 이미 만들어져 있음3) 원래 자료형 제한이 없기에,자료형을 "강제"해서 사용함 == ★제네릭★2. 배열리스트(ArrayList) List는 순서가 있고 데이터 중복을 허용 배열[]은 개수가 정해져 있지만 배열리스트는 개수가  무..

JAVA - 객체지향 feat.캡슐화, 추상화, 인터페이스

JAVA 캡슐화 (Encapsulation)캡슐화란 클래스 안에 서로 연관 있는 속성과 기능들을 하나의 캡슐(capsule)로 만들어데이터를 외부로부터 보호하는 것을 말한다 장점데이터 보호, 데이터 은닉데이터 보호 : 외부로부터 클래스에 정의된 속성과 기능들을 보호함데이터 은닉 : 내부의 동작을 감추고 외부에는 필요한 부분만 노출시킴 자바의 캡슐화는 외부로부터 클래스에 정의딘 속성과 기능들을 보호하고필요한 부분만 외부로 노출될 수 있도록 하여 각 객체 고유의 독립성과 책임 영역을안전하게 지키는  목적임  기능을 단위별로(class별로) ==> 모듈화, 컨포넌트화보관하는 JAVA의 특성덕분에 구현에 필요한 기능이 있다면이미 만들어진 것을 가져오면 된다는 내용 내가 사용하는 클래스, 패키지, 코드덩어리들 ...

JAVA - 객체지향 feat.상속, 다형성

JAVA 절차 지향(Procedural Programming)절차지향은 프로그램을 "순서에 맞게" 작성하는 것>> 흐름도(플로우 차트) 객체 지향(Object - Oriented Proframming) OOP객체지향은 프로그램을 "객체 단위"로 나누어 작성하는 것>> 객체지향 코딩 특히 웹에서는 순서가 사용자에 의해 변경되기 때문에 객체지향이 용이 장점상속, 캡슐화, 다형성이 특징으로 코드를 재사용하거나 확장하기 좋고 유지보수가 쉬움 단점캡슐화와 격리구조 때문에 절차지향 프로그래밍보다 실행 속도가 느림 객체지향 프로그래밍에서 객체는 변수, 함수, 자료구조의 조합이 될 수 있는데, 특히 객체지향 프로그래밍에서 클래스를 기반으로 한 변수를 클래스의 인스턴스라고 표현함 클래스란 멤버 변수와 메서드를 가지는 객..

JAVA - 이중 for문

JAVA이중for문for문을 여러번 중첩해서 사용할 수 있다.이러한 것을 중첩 루프 또는 다중 루프라고 한다.  public static void main(String[] args) { /* *** ** * */ for (int i = 0; i  다중 for문은 정말 어렵다 하지만 콘솔에 의존해서결과물을 똑같이 출력하는데에 초점을 두면 안된다 그렇기에 디버깅표를 그릴 줄 알아야한다알고리즘 로직 문제를 풀 수 있나 ? == 디버깅표를 그릴줄 알아야됨 >> [중첩 반복문] 위 코드의 디버깅표 i i 디버깅표는 정말 중요한데그릴 순 있겠는데 나는 아직 ??값을 구하는ㄱㅔ 어렵다

JAVA - 배열 (Array)

JAVA배열(Array)배열은 같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스(index)를 부여해놓은 자료구조다. 배열의 특징배열은 같은 타입의 데이터만 저장할 수 있다.int 배열은 int 값만 저장이 가능하고, 문자열 배열은 문자열만 저장이 가능하다.선언과 동시에 저장할 수 있는 타입이 결정된다. 크기, 관련성, 자료형크기 : 개수를 분명하게 알고있는 데이터들이관련성 : 이 데이터들이 서로 관련이 있는 상태에서자료형 : 자료형이 같은 때 사용한다.  배열 사용이유컴퓨터는 메모리를 서로 옆에둘 필요성을 모른다.따라서 관련이 있는 데이터의 메모리 공간에 [index]를 붙여서 관리할 수 있다.   new 연산자를 이용한 배열을 생성 public static void main(Strin..