목록자바 (18)
복습
1. 기본 창 열기 package game_001; import javax.swing.*; public class GameTest002 extends JFrame { //프레임을 상속받아서 만듦 JButton button = new JButton("ㅋㅋㅋ"); public GameTest002(){ this.getContentPane().setLayout(null); //패널 설정 button.setBounds(20,20,100,50); // 버튼 좌표 (x,y) 크기 (가로,세로) //프레임에 컴포넌트 추가 this.add(button); //프레임 크기 지정 this.setSize(300, 600); //프레임 보이기 this.setVisible(true); //swing에만 있는 X버튼 클릭시 종료..

직렬화 : 인스턴스 변수 값은 계속 변하는데 어느 순간 상태를 그대로 저장하거나 네트워크를 통해 전송할 일이 있을 수 있다. 이를 직렬화라고 한다. 그리고 저장된 내용이나 전송받은 내용을 다시 복원하는 것을 역직렬화라고 한다. 즉 직렬화는 인스턴스 내용을 연속 스트림으로 만드는 것으로, 스트림으로 만들어야 파일에 쓰거나 네트워크로 전송이 가능하다. ObjectInputStream() : InputStream을 생성자의 매개변수로 받아 ObjectInputStream을 생성한다. ObjectOutputStream() : OutputStream을 생성자의 매개변수로 받아 ObjectOutputStream을 생성한다. 직렬화 예제 먼저 Serializable 인터페이스를 구현하는 Person 클래스를 만든다...

표준 입출력 클래스 : 화면을 출력하고 입력받는 클래스로 자바에서 미리 정의되어 있다. 프로그램이 시작될 때 자동으로 생성되므로 자주 사용하는 System.out도 별도로 생성하지 않고 사용할 수 있었다. System.in - 표준 입력, System.out - 표준 출력, System.err - 빨간색 오류메시지를 띄움 System.in으로 입력받기 이전에 사용했던 코드로 System.in.read()를 써서 값을 받아온다. 결과창에서 값을 입력하면 바이트 단위로 읽어온다. 결과를 보면 ABC를 입력했지만 1바이트만 읽어오므로 A만 인식되었고, i값을 그대로 출력하면 A의 아스키코드인 65가 출력되고 char를 써서 문자형으로 출력하면 A가 출력된다. 문자 여러개 입력받기 똑같은 방법이지만 while문..

Collection에서 스트림 생성하여 사용하기 문자열을 요소로 가지는 ArrayList를 먼저 생성하고 16행에서 ArrayList의 스트림을 생성한다. 17~18행에서 스트림의 forEach와 람다식을 사용하여 ArrayList 요소의 값을 모두 받아와서 출력한다. 그리고 20행에서 스트림을 다시 생성하고 sorted() 메서드로 정렬한 후 위와 같이 forEach와 람다식을 이용하여 각 요소 값을 순서대로 출력한다. 주석처리를 해놓았는데 이를 풀어서 쓴 것이 21~23행이다. reduce() 연산 : 내부적으로 스트림의 요소를 하나씩 소모하면서 지정된 기능을 수행한다. 최종연산에 속한다. 기본형식 : T reduce(T identify, BinaryOperator accumulator) 괄호안의 T..

Map 인터페이스 : 자료를 쌍으로 관리하는 데 필요한 메서드가 정의되어 있다. key-value 쌍으로 이루어진 객체의 key 값은 유일하며 value값은 중복될 수 있다. HashMap 클래스 : Map 인터페이스를 구현한 클래스 중 가장 많이 사용하며 해시 방식으로 자료를 관리한다. 기본형식 : HashMap 변수이름; 변수이름 = new HashMap(); objTel이라는 HashMap 변수를 선언하고 값을 대입해 객체를 생성한다. 그리고 3개의 key-value 값을 대입한다. get 메서드로 key 값이 홍길동인 value를 telResult 변수에 대입한다. 그 다음 telResult 변수를 출력하고, get메서드를 통해 바로 key 값이 홍길동인 value 값을 출력하여 같은 결과가 나왔..

컬렉션 프레임워크 : 자바에서 필요한 자료 구조를 미리 구현하여 java.util 패키지에서 제공하는 것 List 인터페이스 : 객체를 순서에 따라 저장하고 유지하는데 필요한 메서드가 정의되어 있음. 대표적으로 앞에서 사용한 ArrayList가 있고, Vector가 있다. 먼저 Member 클래스를 만들어 회원id, 회원 이름을 각각 반환하고 설정하는 함수를 구현하고, toString메서드를 재정의했다. 그리고 MemberArrayList 클래스를 만들어 Member 클래스를 ArrayList의 자료변수로 사용했다. MemberArrayList 클래스에서 멤버를 배열에 추가하는 메서드와 제거하는 메서드를 구현했고, 배열에 있는 모든 회원들의 정보를 출력하는 메서드도 구현했다. 메인함수에서 각각 4명의 정..