목록Java (26)
NOW OR NEVER
JDBC(Java DataBase Connection Programming) 자바가 데이터베이스에 연결하여 데이터베이스 명령어를 실행하는 프로그램 프로그램에서 자동으로 데이터베이스에 연결하여 위에서 만든 데이터 베이스 명령어 sql을 동작하도록 함 순서 미리 준비 : oracle이 설치된 폴더에서 jdbc 드라이버를 복사하여 java 설치 폴더로 새로 경로 지정 1. ojdbc 복사(아래 둘 중 하나의 경로에서) 시스템 환경 변수 편집 - 고급 - 환경변수 - 시스템 변수 - Path - 편집- product\버전이름dbhome 해당 주소 복사- 탐색기에 붙여넣기-jdbc폴더ojdbc 복사 C:\app\User\product\21c\dbhomeXE\jdbc\lib 2. 복사한 ojdbc 위치 선정 C:\..
Dialog 클래스 JColorChooser 클래스 : 좀 더 다양한 색상을 선택하도록 하는 다이얼로그 showDialog 메소드 : 선택하도록 다이얼로그 띄워줌 --> Color 자료형 값 반환 getColor 메소드: 색상을 가져오도록 해줌 JFileChooser 클래스: 저장하고 열기를 할 때 파일을 선택하기 위한 다이얼로그 ObjectInputStream, ObjectOutputStream : 객체 단위로 읽고 출력하는 클래스 ex) 리스트를 통째로 파일로 내보낼 수 있다. ObjectInputStream : InputStrea의 후손이며 객체 단위로 입력을 위한 클래스 ObjectOutputStream : OutputStream의 후손이며 객체 단위 출력을 위한 클래스 객체 단위로 출력한 클래스..
Thread 쓰레드 : 실행중인 메소드를 쓰레드라고 말한다. method thread 객체 이름. start() : thread 가동 thread 객체 이름. join() : 해당 thread가 끝날 때 까지 기다리도록 한다. 결과값 나타나게 됨 멀티쓰레드 멀티쓰레드 : 두개이상의 메소드를 가능하면 공평하게 실행시키는 프로그래밍 방식을 말한다. 메소드를 호출하면 호출한 순서대로 동작한다. p1.sayHello() 모두 끝나야지만 p2에게 기회가 온다. 만약, p1의 sayHello()를 동작하다가 예외가 발생되면 중지되면 p2에게 영영 기회가 오지 않을 수도 있다. 이때가 가능하면 p1과 p2가 공평하게 어떤 기능을 동작하도록 하게 하려면 멀티쓰레드 방식으로 프로그램 일을 한다. class Person{..
javax.swing : gui 만들어주는 클래스 JFileChooser(default 주소) : 파일을 저장하거나 열 때 어떤 파일을 선택할 건지 대화상자 출력해주는 것 showOpenDialog showSaveDialog : 어느폴더에 어떤 이름으로 저장할 것인지 물어보기 위한 다이얼로그 반환하는 값의 자료형이 정수인 이유: Diaglog 는 컴퓨터와 사용자가 대화하는 수단, 대답을 저장할 수도 있고 취소할 수도 있다.그 대답을 정수형으로 반환한다.(저장하면(긍정) 0, 취소하면(부정) 1) 배치방식 JPanel여러 개를 모아놓는 container FlowLayout: 만들어진 순서대로 배치 BorderLayout : 동,서,남,북,가운데 배치 방식 GridLayout addActionListener..
예외 처리 예외: 프로그램 실행 중에 사용자의 부주의 등으로 인하여 예기치 않는 상황이 발생하는 것 예외 처리: 위에서 설명한 예외를 처리하는 것 자바에서는 대부분의 발생할 수 있는 예외에 대하여 이미 클래스로 만들어져 있다. 그 상황이 되면 자동으로 new ArrayIndexOutOfBoundsException()으로 예외객체가 생성된다. 자바에서는 대부분의 예외에 대하여 이미 클래스로 만들어져 있고 그 상황이 되면 자동으로 예외 객체가 생성된다. 예외가 발생할 만한 코드를 그대로 두게 되면 사용자로부터 신뢰를 잃게 된다. 모든 예외 중에 제일 조상은 Exception 이다. ArrayIndexOutOfBoundsException 과 NumberFormatException은 is a 관계 세분화 하지 ..
상속성 추상메소스 추상메소드는 미래에 후손클래스들이 반드시 가져야 할 메소드이지만 부모클래스를 만드는 시점에서 구체화 할 수 없는경우 메소드 몸체를 정의하지 않고 메소드 선언문만 명시한다.이것을 추상메소드라 한다. 메소드이름 왼쪽에 abstract 키워드를 써 준다. 추상클래스 추상메소드를 하나라도 포함하고 있는 클래스를 추상클래스라 하고 클래스 이름 왼쪽에 abstract 키워드를 써 준다. 추상클래스는 추상메소드뿐 아니라 body가 구체화된 메소드를 포함할 수 있다. 또, 추상클래스는 body를 구체화하지 않는 메소드를 포함하고 있기 때문에 추상 클래스의 객체는 생성할 수 없다 반드시 그 추상클래스를 상속받아 추상메소드를 구현한 클래스의 객체를 생성해야 한다.. 익명클래스 이름없는 클래스를 말한다. ..
Keyword final 클래스의 멤버변수 앞 변수이기는 하지만 상수(고정된)처럼 사용하고자 할 때 사용하는 것 특정 값 이외의 다른 값을 사용하면 안될 때 사용 ex) final int b = 10; b라는 변수이기는 하지만 10외에 다른 값을 가지면 오류가 발생하게 만듦 상수는 모두 대문자로 만든다. 그래서 final 붙을 경우 변수가 상수 역할을 하므로 대문자로 만들어 주는 것이 좋다. final은 어차피 못바꾸는 것이라서 객체마다 따로 메모리를 잡을 필요가 없다. 그래서 final 이면 static으로 만들어서 모든 객체가 같이 사용한다. ex) final static String ADDR = "서울시 마포구 서교동"; 클래스의 멤버메소드명 앞 최종 메소드 부모로부터 물려받은 final metho..
메소드 호출방식 값에 의한 호출(Call By Value) 메소드 호출 시에 기본 자료형이 전달되는 것을 말하며 메소드 안에서 전달된 값이 변경되더라도 호출하는 쪽에는 변경된 내용이 적용되지 않는다. 참조에 의한 호출 (Call By Reference) 메소드 호출 시에 참조 자료형(객체, 배열)이 전달되는 것을 말하며, 메소드 안에서 전달된 값이 변경될 때에 호출하는 쪽에서 변경된 내용이 적용된다. 참조변수 : 데이터(값)을 저장한 것이 아닌 그 값을 가리키는(메모리상의 주소 전달) 변수 상속 class b extends a{ } class a가 부모 클래스, class b가 자식 클래스 : b는 a로부터 상속받겠다. 자식은 부모의 모든 속성과 동작을 물려받게 된다. 이미 만들어진 부모 코드를 사용해서..
객체 지향 프로그래밍 Object Oriented Programming(OPP) ex)java, c++ 현실 세계의 모든 것으 객체화 할 수 있다(눈에 보이는 것일 수도 있고 개념적인 것일 수 있다. 객체 : 세상을 구성하고 있는 모든 것을 객체라고 말 할 수 있다. 이 세상에서 유일하고 단 하나 밖에 없는 것이다. 자바로 객체 지향 프로그래밍을 할 때에는 표현해야하는 대상에 대하여 속성과 동작을 분석하여 클래스를 먼저 만들어야 한다. 특징 은닉성(encapsulation) 클래스를 구성하고 있는 속성(data)들을 외부의 다른 클래스로부터 보호하는 것을 말한다. 클래스를 만들 때 setter와 getter, constructor을 일일이 만들기 번거로움을 줄이고 자 이클립스 기능 사용 모든 구성 요소들..
식별자 변수 이름이나 클래스 이름이나 method 이름 등 이름을 정해주는 것을 말한다. 다른 것들과 구별하기 위하여 이름을 정해주는 것 규칙 한글, 영문, 숫자, _,$로 구성될 수 있지만 가능하면 한글을 사용하지 않는 게 좋다. 첫 글자는 영문이나 _로 시작한다. 식별자 첫 글자에는 숫자가 올 수 없다. 클래스 이름의 첫 글자는 영문 중 대문자로 시작한다. 변수명이나 메소드 이름의 첫 글자는 소문자로 시작 식별자를 정할 때는 가능하면 의미있는 이름으로 설정 public, static, void 등과 같이 예약어(자바에서 이미 의미있는 단어로 예약되어 있는 단어)들은 식별자로 사용할 수 없다. 단어와 단어 사이 구분 두 개 단어 이상으로 식별자를 정해 줄 수 있다. 식별자에는 공백을 포함시킬 수 없다...