- 자바 GUI는 요즘 워낙 안 쓰기 때문에 중요도가 너무 많이 떨어진다. - 화면에 보이는 것들은 다 객체로 이루어져있고, 필요하면 다 add를 써서 붙인다. ex. Container, GridLayout, JButton 등. - 콘솔 액션은 사실상 Enter 하나인데, - GUI는 액션이 정말 많다. ex. 마우스가 움직이거나, 클릭하거나, 입력하는 행위를 하거나.... => 그래서 ActionListener를 만들어서 액션을 수행할 때, 액션리스너는 그 액션을 듣고 있다가 뭔가를 하겠다. - Container는 '도화지'라고 이해하면 편하다. * 중요한 것은 콘솔 입출력과 크게 다르지 않으나, 액션이 다양하다의 느낌만 가져가는 것. GUI에서는 Action라는 개념을 도입해서, 그 액션을 계속 리스..
TCP / UDP 1. // 스캐너에서 진짜로 입력한 걸 보내는 것. // 잊지 말아야 할 것 // Receieve 먼저 켜고 Send를 켜야한다. public class SendUDP { public static void main(String[] args) throws IOException { DatagramSocket ds = new DatagramSocket(); InetAddress ia = InetAddress.getByName("192.168.20.34"); int port = 8888; //리시브 안 켜고서 send부터 켜면 안 된다. Scanner sc = new Scanner(System.in); // 사용자에게 입력 받음 System.out.print("입력 : "); // 이걸 Rec..
일반적으로 우리가 DB 연결할 때는 서버랑 데이터베이스 사이의 통신을 의미 public class Main { public static void main(String[] args) { try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) { br.readLine(); } catch (IOException e){ e.printStackTrace(); } } } 이렇게 try-with-resources로 처리하면 굳이 close() 할 때 try-catch로 묶지 않아도 된다. (아니, 아예 close() 자체가 필요가 없다.) HashMap에서 values() 메서드(내장메서드)는 그 맵이 가지고 있는 모든 value들..

1. - 이건 아직 if문도 필요가 없음. 2. id&&pw일지 if id if pw일지를 생각. 3. 이런 idea public class Main { public static void main(String[] args) { // 3 -> 봄 // 4 -> 봄 // 5 -> 봄 // 만약에 // 0 -> 4 // 1-> 6 // 2 -> 1인 문제가 주어진다면. //=> 배열로 접근하자. int input; Scanner scanner = new Scanner(System.in); int[] numbers = {4, 6, 1}; input = scanner.nextInt(); System.out.println(numbers[input]); } } String으로 바꿔도 마찬가지 public class ..

1. 메서드 기준 계산기를 만든다고 가정하면 얘는 숫자를 자기가 항상 정해놓는다면 계산기로서의 존재가치 자체가 없는 거지. 그럼 숫자는 외부에서 입력받아 가져오는 게 더 적합하겠지 등... 29:34 2. - 모두 다른 위치에 있게 하려면 => 횟수차감(i--) - 위, 아래, 왼쪽, 오른쪽 이동할 때 => 이걸 아예 배열로 바꿀 수도 있을 듯 int[ ] wantrow = {-1, 0, 1, 0}; int[ ] wantcol = {0, 1, 0, -1); cf. 오른쪽 위 같은 것도 한방에 표현 가능 row -1 col 1 새로운 위치 int newRow = row + wantrow; int newCol = col + wantcol; - index이동하면서 범위가 터지는지는 확인해줘야 함. 3. - 함..

1. - 올림픽게임과 살짝 비교해서 보면 좋을 듯 - 올림픽은 국적을 필드에 놓는 것을 고려할 수 있다고 보면, 선수의 국적이 달라질 때, 선수의 행동이 달라지거나 가질 수 있는 값이 달라지진 않는다. - 그런데 포켓몬은? 피카츄와 파이리가 종족이 달라지면 서로 다르다(공격력 능력치, 회복력 등...) => 이럴 때는 다른 클래스로 만드는 게 효율적일 듯 - 만약 피카츄, 파이리 꼬북이가 그냥 별칭에 불과하다면, nickname이라는 필드 변수로만 선언해놔도 무방하겠지. 2. - 이 문제는 사실 두 개의 차이를 아느냐 묻는 문제 Person person; Person person = new Person(); - 위는 사람을 가리킬 수 있는 화살표가 만들어진 것이고(연결 x) - 아래는 new를 한 시점에..

GUI : Java에서 그래픽 요소를 사용하여 사용자와 상호 작용하는 애플리케이션을 개발하는 데 사용되는 기술입니다. 종류 : Swing, JavaFX 및 AWT(추상 윈도우 툴킷) 등. - 요즘 거의 버려짐 1. Swing - Swing을 사용하여 다양한 종류의 컴포넌트를 만들 수 있다. - 컴포넌트는 대화 상자, 버튼, 텍스트 상자, 레이블 및 테이블 등이며, 이러한 컴포넌트를 함께 배치하여 사용자가 그래픽 인터페이스와 상호 작용할 수 있도록 제작을 한다. 2. JavaFX - Swing 대체품으로 활용. - 다양한 컴포넌트 및 이펙트를 포함하며, 스타일링 및 애니메이션에 대한 강력한 지원도 제공하는 중. 3. AWT - Java GUI의 초기 버전이었으며, 현재는 Swing 및 JavaFX와 함께 ..
UDP public class SendUDPEX { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub DatagramSocket ds = new DatagramSocket(); InetAddress ia = InetAddress.getByName("192.168.20.34"); int port = 8888; //리시브 안 켜고서 send부터 켜면 안 된다. Scanner sc = new Scanner(System.in); System.out.print("입력 : "); String str = sc.next(); DatagramPacket dp = new DatagramPacket(str..