java
-
[java] JFrame 레이아웃 구성, Socket class (client 코드)java 2023. 12. 6. 10:29
소켓 소켓은 TCP Layer중 Application Layer interface로, Application Layer와 Transport Layer 사이에서 host to host로 데이터 패킷을 전달한다. 이 패킷 헤더에는 ip address, port number 등이 있다. 하나의 host가 client, 다른 host가 server라고 했을때 server-client사이에서 통신을 돕는 인터페이스라고 이해하면 될 것 같다. 추가 설명 소켓은 네트워크 상에서 돌아가는 두 프로그램 간 양방향 통신에서 하나의 엔드 포인트이다. 소켓은 포트번호에 바인딩되어 TCP Layer에서 데이터가 전달되어야 하는 에플리케이션을 식별할 수 있게 한다. 여기서 엔드포인트란 아이피 주소와 포트 번호의 조합을 의미한다. ..
-
[java] 인터페이스 사용법java 2023. 7. 1. 00:59
전 포스팅과 이어지는 내용임 https://lee-ding.tistory.com/13 [java] 인터페이스 인터페이스는 개발코드와 객체가 서로 통신하는 접점 역할을 한다. 개발 코드가 인터페이스의 추상 메소드를 호출하면, 인터페이스의 추상 메소드는 각 객체의 재정의된 실체메소드를 호출한 lee-ding.tistory.com Television.java라는 구현 클래스가 있다고 해보자. 구현 클래스가 작성되면, new 연산자로 객체를 생성할 수 있다. 단순히 Television tv = new Television(); 과 같이 구현 객체를 생성한것이 인터페이스를 사용하였다고 볼 수는 없다. 인터페이스로 구현 객체를 사용하려면, 인터페이스 변수를 선언하고 구현 객체를 대입해야한다. 1. 인터페이스 선언 p..
-
메소드 오버로딩 vs 메소드 오버라이딩java 2023. 6. 27. 19:24
메소드 오버로딩 클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것 동일한 이름이지만 입력항목이 다른 메소드를 만드는 것 메소드 오버로딩의 조건 ? : 매개 변수의 (타입, 개수, 순서) 중 하나가 달라야한다. 메소드 이름이나 리턴타입은 상관이 없다. 메소드 오버로딩의 목적 : 매개값을 다양하게 받아 처리할 수 있도록 하기 위해서이다. ex) System.out.println() 메소드 -> 주어진 매개값의 타입에 따라 println한다. void sleep() { System.out.println(this.name + "zzz in house"); } void sleep(int hour){//메소드 오버로딩 System.out.println(this.name + "zzz in house" + hou..
-
7장 연습문제java 2023. 1. 31. 12:38
Q1 import문을 작성할때는 계층구조로 작성한다. import 패키지.클래스; Q2 다음예외들은 이러한 경우에 발생한다. ArrayIndexOutOfBoundsException : 배열의 길이를 초과한 값을 사용하려할때 ClassCastException: 캐스팅을 잘못할때 https://lee-ding.tistory.com/35 ArithmeticException :0으로 나눌려고할때 예제에서는 int b=a[3]에서 ArrayIndexoutofboundsexception이 발생한고 try문을 빠져나간다, 그 후 finally 구문은 필수적으로 실행되기 때문에 3+4 = 7 result=7이 된다, Q3 20초걸릴 반복작업을 쓰레드 이용해서 5초로 줄임 class HeavyWork implements..
-
ClassCastExceptionjava 2023. 1. 31. 12:35
ClassCastException "하위 유형이 아닌 유형에 대한 참조를 캐스팅하려고 시도했음을 알리는 확인되지 않은 예외 " 예로는 클래스 캐스팅, 배열 캐스팅, 일반적인 박싱 캐스팅 등에서 발생한다. 경우1) 클래스 캐스팅 가장 대표적인 유형으로 타입변환(Casting)은 상위클래스-하위클래스, 구현클래스-인터페이스 간에 발생한다. 이러한 관계가 아니라면 클래스는 다른 타입으로 변환될 수 없기 때문에 ClassCastException이 발생한다. 예) 대입된 객체가 아닌 다른 클래스 타입으로 타입변환을 하게 되면 ClassCastException이 발생한다. // Dog와 Cat클래스는 Animal클래스를 상속한다. // Television과 Audio는 RemoteControl인터페이스 의 구현클래..
-
String.joinjava 2023. 1. 27. 12:53
String.join 메소드는 문자열배열이나, 리스트등의 요소들을 구분자를 포함하여 하나의 문자열로 만들어준다. String.join 메소드의 첫번째 인자에는 구분자, 두번째 인자에는 Array나 List와 같이 컬렉션 형태의 문자열들을 넣는다. String[] a = {"빨강", "주황", "노랑", "초록"}; String result = String.join(":", a); System.out.println(result); // 결과 : 빨강:주황:노랑:초록 import java.io.*; import java.util.ArrayList; public class Sample{ public static void main(String[] args) throws IOException { ArrayList..
-
6장 연습문제java 2023. 1. 27. 12:46
Q1. 입력 숫자의 합 (콘솔입출력 scanner , sc.nextInt()이용) import java.util.Scanner; public class Sample{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); Scanner sc2 = new Scanner(System.in); System.out.println(sc.nextInt() + sc2.nextInt()); } } import java.util.Scanner; public class Sample{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); Scanner sc..