본문 바로가기

분류 전체보기

(35)
#10 <코드카타> 두 수의 나눗셈, 자릿수 더하기, x만큼 간격이 있는 n개의 숫자 문제: 두 수의 나눗셈정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요. 1.class Solution { public int solution(int num1, int num2) { return (double)num1/num2*1000; }}-->num1이 int형이라 범위를 넘어서면 오버플로우가 발생해 위처럼 double로 형변환 해주고 1000을 곱해주는 방법  2.class Solution { public int solution(int num1, int num2) { return num1*1000/num2; ..
#9 스트림 스트림이란?스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드들을 정의해 놓았다. 스트림을 이용하면 배열이나 컬렉션뿐만 아니라 파일에 저장된 데이터도 모두 같은 방식으로 다룰 수 있다. 스트림 특징 스트림은 데이터 소스를 변경하지 않는다. 스트림은 데이터 소스로부터 데이터를 읽기만할 뿐, 변경하지 않는다. 스트림은 일회용이다. 스트림은 Iterator처럼 일회용이다. 한 번 사용하면 닫혀서 사용할 수 없다. 필요 시 다시 생성하거나, 결과를 컬렉션이나 배열에 담아두고 사용할 수 있다. 스트림은 작업을 내부 반복으로 처리한다. 내부 반복을 통해 간결한 코드를 작성할 수 있다. 스트림의 사용방법​ 스트림 생성 : 데이터 소스로부터 스트림을 생성 중간 연산 : 원하는 형태로 데이터를 가..
#8 <5주차> 쓰레드 프로세스: 운영체제로 부터 자원을 할당받는 작업의 단위 (일)쓰레드: 프로세스가 할당받은 자원을 이용하는 실행의 단위 (코드실행의 흐름)(일꾼)  데몬  쓰레드: 보이지 않는곳(Back ground)에서 실행되는 낮은 우선순위를 가진 쓰레드 보조적인 역할을 담당하며 대표적인 데몬 쓰레드로는 메모리 영역을 정리해주는 가비지 컬렉터가 있다  사용자 쓰레드:보이는 곳(foregorund)에서 실행되는 높은 우선순위를 가진 쓰레드를 말합니다.프로그램 기능을 담당하며 대표적인 사용자 쓰레드로는 메인 쓰레드가 있습니다.사용자 쓰레드 만드는 법 : 기존에 만들었던 쓰레드들이 다 사용자 쓰레드입니다.JVM 은 사용자 쓰레드의 작업이 끝나면 데몬 쓰레드도 자동으로 종료시켜 버립니다.   쓰레드 상태상태Enum설명객체생성..
#7 <4주차> Exception Throw와 Throwsthrow는 개발자가 의도적으로 예외를 발생시키는 것이다public class Test { public static void main(String[] args) { int a = 2; int b = 0; divide(a,b); } public static int divide(int a, int b) { if (b == 0) { throw new ArithmeticException("0으로 나눌 수 없습니다."); } return a / b; }}  throws는 메서드 내에서 예외처리를 하지 않고 해당 메서드를 사용한 곳에서 예외 처리를 하도록예외를 던지는 것이다 (예외를 전가한다)public class Test { public static void main(Stri..
#6 접근 제어자 # 접근 제한자 ## 개요 main() 메소드를 가지지 않는 대부분의 클래스는 외부 클래스에서 이용할 목적으로 설곅된 라이브러리 클래스이다. 라이브러리 클래스를 설계할 때에는 외부 클래스에서 접근할 수 있는 멤버와 접근 할 수 없는 멤버로 구분해서 설계한다. 이러한 기능을 구현하기 위해 접근 제한자(Access Modifier) 기능을 제공한다. ## 종류 각 접근 제한자에는 적용할 수 있는 대상과 어떤 개념들이 접근 제한되는지 적혀있다. - ex) protected 적용 대상이 (필드, 생성자, 메소드) 라면 선언시에 ( protected 필드 )는 가능하지만 ( protected 클래스) 는 불가능하다. - default - 적용 대상 : 클래스, 필드, 생성자, 메소드 - 접근 제한 : 다른 패키지..
#5 TCP와 UDP #웹 모든 프로그램은 웹에서 돌아간다. - 인터넷 : 멀리 있어도 컴퓨터끼리 통신할 수 있게 되었다. - 해저 광케이블 - 인공위성 - 이름에 걸맞는 World Wide Web(WWW) 구축 #IP(Internet Protocol) 인터넷 프로토콜 IP(Internet Protocol) - 인터넷을 통한 통신규약 - 많은 단계를 거쳐서 데이터를 전달 IP 주소 - 지정한 IP 주소에 데이터를 패킷(Packet) 단위로 전달한다. IP 방식의 문제점 - 비연결성 : 수신 대상의 상태에 상관없이 전송 - 비신뢰성 : 복잡한 과정 때문에 데이터 소실 발생 - 용량이 커서 나뉘어진 패킷들이 도착하는 순서가 뒤바뀜 - 해결 방법으로 TCP가 제시됨 #TCP(Transmission Control Protocol) ..
#4 Exception 예외처리 public double calculate(int firstNum, int secondNum, char sign){ result=0; switch (sign){ case '+'-> result = firstNum + secondNum; case '-'-> result = firstNum - secondNum; case '*'-> result = firstNum * secondNum; case '/'-> result = firstNum / secondNum; //throw ArtithmeticException case '%'-> res..
#3 <3주차> 다형성과 추상화 가변길이 매개변수 선언 spread void carSpeeds(double ... speeds){ for(double v: speeds){ System.out.println("v=" + v);}}  참조형변수 기본형 변수 차이 -참조는 주소를 가르킴 -기본형은 값을 복사해서 가져옴  클래스 멤버 사용 시 클래스의 이름으로 접근한다 String companyName=Car.getCompany("Benz"); **참조형 변수를 사용하여 클래스 멤버에 접근 가능하지만 추천하지 않음     this와 this()의 차이this는 인스턴스 자신을 가르키는 참조변수 this()는 생성자를 가르킴  static 메서드에서는 this를 사용하지 못함 this() 로 다른 생성자 호출 이전에 코드가 존재하면 오류 발생..