
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..
TCP (Transmission Control Protocol)와 UDP (User Datagram Protocol) : 인터넷에서 데이터를 전송하기 위해 사용되는 프로토콜 TCP - 신뢰성 있는 데이터 전송을 보장. - 패킷을 연결하고, 데이터 전송의 상태를 확인하며, 재전송을 수행하여 데이터 손실을 방지. - 데이터를 보내기 전에 연결을 설정해야 하며, 연결이 해제되기 전까지 데이터 전송을 지속한다. ex. 많은 웹 사이트, 이메일, 파일 전송 등에서 사용한다. 장점 신뢰성 있는 데이터 전송을 보장하여 데이터 손실이나 중복을 방지할 수 있다. 흐름 제어 및 혼잡 제어 기능을 제공하여 대역폭 효율성을 높인다. 단점 오버헤드가 크기 때문에 속도가 느릴 수 있다. 연결 설정에 시간이 걸리기 때문에 빠른 데..
TCP/IP ( ≒ 인터넷 프로토콜 스위트(Internet Protocol Suite) : 인터넷에서 데이터를 주고받기 위해 사용되는 프로토콜 - TCP (Transmission Control Protocol)와 IP (Internet Protocol)로 구성됨. IP는 패킷을 전송하는 역할을 하며, TCP는 전송 중인 데이터의 신뢰성을 보장하고 전송 속도를 조절하는 역할을 함. TCP/IP의 데이터 전송 과정 데이터를 패킷으로 분할한다. IP 프로토콜을 사용하여 각 패킷의 출발지와 목적지를 설정한다. 각 패킷이 도착할 때까지 전송될 경로를 결정한다. TCP 프로토콜을 사용하여 패킷 전송의 신뢰성을 보장하게 만든다. 전송된 패킷을 재조립하여 전체 데이터를 복원한다. - 인터넷에서 가장 널리 사용되는 프로..

call by Value 핵심 : "값이 넘어간다" 변화를 알고 싶으면 return int a = 5; 가 있고 xyz(int a) {} 메서드가 있다고 하자. main 메서드에서 xyz(a); 를 호출했을 때, ... xyz의 매개변수로 값인 5가 넘어간다. public class Sample { static int xyz(int a) { a = 10; return a; } public static void main(String[] args) { int a = 5; xyz(a); System.out.println(a); // 5가 출력됨!!!!! } } 이 때 바깥에 있는 int a는 변화가 있을까 없을까? 답 : 없다 왜? 값만 넘어갔기 때문에 - 매개변수로 넘어간 a를 가공한다고 해도 마찬가지. -..
예제 1. 객체에 대한 참조값을 요소로 가지는 객체 배열을 생성하는 코드를 구현하시오. 반복문을 사용하여 객체를 생성하시오. class Person01 { // Field private String name; private int age; // Constructor Person01() { } Person01( String name, int age ) { this.name = name; this.age = age; } // Method public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(in..