본문 바로가기

전체 글

(34)
[JAVA] 이벤트, 리스너, key 이벤트, 마우스 이벤트 1. 이벤트 객체 현재 발생한 이벤트에 관한 정보 가진 객체. 이벤트 리스너에 전달됨. [이벤트 처리를 위한 import문] import java.awt.event.*;// 이벤트 처리 필요시 import import javax.swing.event.*;// 스윙 이벤트 다룰 경우 추가 import [이벤트 객체 메소드] · getSource() : 이벤트가 발생된 컴포넌트의 레퍼런스 리턴. 리턴타입은 Object이므로 캐스팅해서 사용하면 됨 JButton b = (JButton)event.getSource();// b는 이벤트가 발생한 버튼의 레퍼런스 [이벤트 객체와 이벤트 발생 경우] 2. 이벤트 리스너 - 이벤트를 처리하는 코드. 컴포넌트에 연결돼있어야 작동함. - 이벤트 발생할 때마다 이벤트 리스..
[JAVA] GUI, 컨테이너, 컴포넌트, 스윙, 배치관리자 1. GUI - 그래픽 이용한 화면 구성, 입력도구(마우스 등) 이용한 사용자의 편리한 입력 도움. - AWT 컴포넌트, 스윙 컴포넌트로 구분 (AWT보다 스윙 사용 권장) - GUI 응용프로그램은 GUI 컴포넌트로 구성, GUI 컴포넌트는 순수컴포넌트와 컨테이너로 분류됨 - 모든 GUI 컴포넌트들은 Component 클래스를 상속받음. [AWT] - java.awt 패키지 - 운영체제의 도움을 받아 화면에 출력. [스윙] - java.swing 패키지 - 순수 자바언어로 작성 - 컴포넌트 이름이 모두 대문자 J로 시작 (JFrame, Jwindow, JButton ...) * 스윙과 AWT 컴포넌트는 한 프로그램에서 동시사용 불가 (JButton과 Button 동시 사용 불가) 2. 컨테이너, 컴포넌트..
[JAVA] 파일 읽기, 쓰기, File 클래스 1. 스트림 - 데이터를 전송하는 소프트웨어 모듈. - 스트림의 양 끝에는 입출력 장치, 자바 응용프로그램이 연결됨. - 단방향 - 기본단위는 바이트 / 문자 2. 문자 스트림 - 2바이트 유니코드 문자 단위로 입출력하는 스트림 [FileReader 이용해 텍스트 파일 읽기] 1. 파일 입력스트림 생성 · FileReader 파일 입력 스트림 생성, 스트림과 파일 연결 FileReader fin = new FileReader("c:\\test.txt");// 파일 입력스트림 생성, 스트림-파일 연결 2. 파일 읽기 · read() : 파일로부터 문자 하나를 읽어 int타입으로 리턴. 파일의 끝을 만나면 -1 리턴 int c; while((c = fin.read()) != -1) {// 문자 하나를 c에 ..
[JAVA] 제네릭·컬렉션, Vector<E>, ArrayList<E>, Iterator<E>, HashMap<K, V> 1.컬렉션, 제네릭 [컬렉션] - 가변 크기 컨테이너 - 제네릭기법으로 만듦 - 컬렉션의 요소는 객체만 가능. ex) Vector (O) Vector (X) ▽ Collection를 상속받는 것들: - Vector, ArrayList : 가변 크기 배열 - LinkedList : 연결리스트 - Stack : 스택 - HashSet : 집합 HashMap : 키, 값 쌍으로 이루어지는 데이터 저장, 키로 검색하도록 함. * java.util 패키지 [제네릭] - 모든 타입을 다룰 수 있도록 클래스나 메소드를 타입매개변수로 선언. ex) Stack 에서 는 제네릭 타입 매개변수 -- 여러 타입으로 변신 가능한 구조 에 구체적인 타입 지정하면 해당 타입만 다루는 스택이 되는 것. 일반적으로 사용하는 제네릭 타..
[JAVA] 문자열-기본형 변환, String메소드, Math메소드, Calendar 클래스 1. Object 클래스 - java.lang 패키지 - 모든 클래스에 강제로 상속됨. - 모든 클래스에서 상속받아 사용할 공통 기능 구현돼있음. 최상위 클래스. · toString() 객체를 문자열로 변환 Point a = new Point(2,3); System.out.println(a.toString());// 결과: Point@15db9742 (클래스명@해시코드) public String toString() { }// 오버라이딩으로 자신만의 문자열 리턴 가능 System.out.println(p.toString()); System.out.println(p);// p.toString()으로 자동변환됨 · equals() 객체 비교 String s1 = new String("java"); String..
[JAVA] 패키지, 모듈 1. 패키지, 모듈 - 서로 관련 있는 클래스를 한 곳에 묶어 놓은 것. (관련된 클래스 파일들이 들어있는 디렉토리) - 자바 JDK는 많은 클래스들을 패키지 형태로 제공. 패키지를 모듈 단위로 묶어 모듈 제공. - 다른 패키지에 있는 클래스 사용하려면 패키지명을 포함하는 경로명 사용. ex) java.util.Scanner 다른 패키지에 있는 클래스 사용 : import java.util.Scanner;// Scanner 클래스 사용 import java.util.*;// java.util 패키지의 여러 클래스 사용 [패키지 선언] - 클래스가 소속될 패키지명은 소스파일 첫 줄에 선언. - package 키워드 사용. ex) package 패키지명 package UI;// 패키지선언. Tools 클래스..
[JAVA] 상속, 업캐스팅, 오버라이딩, super, 추상클래스, 인터페이스 1. 상속 - 다중상속 지원 X. [슈퍼클래스] = 부모 클래스 class SuperClass {...}// 슈퍼클래스 [서브 클래스] = 자식 클래스. extends를 사용 class SubClass extends SuperClass {...} // SuperClass를 상속받는 자식클래스 [서브 클래스 객체 생성] - 서브클래스의 객체 생성하면 이 객체는 슈퍼 클래스의 멤버와 서브 클래스의 멤버를 모두 가지게 됨. - 단, 자식클래스는 부모클래스의 private 속성에는 접근 불가 SubClass sub = new SubClass();// 서브 클래스 객체 생성 [슈퍼클래스 접근지정] 서브클래스에서 접근 가능한 속성: public / protected / 같은 패키지 내의 디폴트 속성 [생성자] - ..
[JAVA] 클래스, 객체, 접근 지정, static, final 1. 클래스, 객체 - main메소드는 클래스 안에 존재해야 함. - 어떤 변수나 함수도 클래스 밖에 존재할 수 X. 모두 클래스 멤버로 존재해야 함. - public class가 있는 경우, 소스파일 이름 == public 클래스 이름 - public class는 2개 이상 X. 가능하면 하나의 소스파일에는 하나의 클래스만. - 클래스 2개 이상 사용시, 각 클래스를 별도의 소스파일에 나눠 저장하거나, 둘 중 한 클래스에 public 붙이지 말기 [클래스 객체 생성] new 연산자 이용 Circle pizza = new Circle();// 변수 pizza에 Circle 객체 생성 [객체 멤버 접근] 점(.) 연산자 이용 pizza.radius = 10; [생성자] 초깃값 설정에 이용. (클래스 이름과..