언어/JAVA
-
[JAVA] Swing언어/JAVA 2022. 9. 8. 12:14
- 윈도우 프로그래밍에 필요한 윈도우 구성요소를 보유한 클래스(JFrame)를 상속받은 클래스로 추가기능 탑재 형식의 개발을 진행 import java.awt.Container; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; class ButtonTest extends JFrame{ // 윈도우 최초 화면의 구성은 대부분 생성자 메서드에서 구성 ButtonTest(){ JButton male = new JButton("남자"); JButton female = new JButton("여자"); // 생성자에 입력된 텍스트를 한가운데 표시한 버튼을 생성 아직 ..
-
[JAVA] Thread언어/JAVA 2022. 9. 8. 11:52
- 프로그램의 명령을 실행하게끔 해주는 실행 주체. - 개발자가 별도의 Thread를 생성하지 않는다면, 한 프로그램에 하나의 Thread 가 존재하여 해당 명령을 차례 차례 순서대로 실행시킴 class ThreadA1{ public void run() { for(int i=1; i 0; i--) { System.out.println(i); try { sleep(1000); } catch(Exception e ) { } } } } class ThreadC2 extends Thread{ public void run() { String input = JOptionPane.showInputDialog("정답을 입력하세요."); // 자바에서 만들어지는 윈도우 프로그램을 위한 구성요소로 윈도우 프로그래밍 가능 ..
-
[JAVA] Exception(예외처리)언어/JAVA 2022. 9. 8. 11:37
- 에러(Error) : 문법적으로 잘못된 것, 에러가 존재하는 경우 컴파일이 안 되어서 실행자체가 될 수 없음 - 예외(Exception) : 실행중 발생한 오류, 특정 상황 또는 조건이 만족되는 경우 오류가 발생하여 프로그램이 실행중간에 종료되는 현상 -예외는 다양한 상황에 대해서 발생하는 현상으로 모든 예외를 대처할 수 없음. 다만, 예외가 발생한 경우 프로그램이 종료되지 않고 저장과 같은 기능을 제공할 수 있어야함. 예외가 발생해도 프로그램이 강제종료되지 않고 사용자에게 선택권 또는 처리기회를 주는것을 말함. - 예외처리 : 예외가 발생한 경우 프로그램이 강제 종료되지 않도록 방지 또는 처리하는 것 public class Exception01 { public static void main(Stri..
-
[JAVA] Interface언어/JAVA 2022. 9. 8. 11:24
자바언어에서 제공하는 상속 기능은 일반 클래스이든, 추상클래스이든 단일 상속만을 지원함. 하나의 클래스는 하나의 부모클래스를 가질 수 있음(여러개의 클래스를 상속할 수 없음). - class SubA extends SuperA, SuperB {} -> 에러 다중 상속을 위해 만들어진 interface -인터페이스는 제약이 다소 있는 클래스 - 추상클래스보다도 더 상속을 위해서 만들어진 클래스. 다중 상속이 가능. - class 만들듯이 생성하며, class란 키워드 대신 interface 라는 키워드를 써서 생성 1. 인터페이스는 멤버필드(변수)로 public static final 멤버만 가질 수 있음 2. 추상클래스처럼 일반 멤버변수와 일반 멤버 메서드를 가질 수 없음 3. 인터페이스는 멤버메소드로 ..
-
[JAVA] Abstract(추상클래스)언어/JAVA 2022. 9. 8. 11:15
-상속을 통한 다형성(부모클래스를 상속받아 여러형태의 자식클래스를 생성 & 활용 & type casting)을 구현함에 있어서 강제성을 부여하기 위한 클래스 -일반적인 상속의 문제점: 강제성의 부재 -상속을 통해 다형성(부모클래스를 상속받아 여러 형태의 자식 클래스를 생성하고 활용함)을 구현하고자 하여도, 하위클래스에서 메소드 오버라이딩을 구현하지 않으면 다형성을 완벽히 구현할 수 없음. 이때, 오버라이딩을 구현하지 않는것이 문법상 문제가 없다는 점을 강제성의 부재라고 함 class Animal{ public void crying() { System.out.println("울음 소리~"); } } class Dog extends Animal{ public void crying() { System.out...
-
[JAVA] Formatter언어/JAVA 2022. 9. 8. 10:43
public class Formatter01 { public static void main(String[] args) { // 날짜 데이터 클래스, Calendar 와는 다름 Date today = new Date(); //java.util.Date System.out.println(today); // 날짜 서식 클래스 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); // 날짜 데이터를 서식 데이터에 맞춰서 적용후 출력 System.out.println( sdf1.format( today ) ); // 날짜 서식 레퍼런스 변수들 SimpleDateFormat sdf2, sdf3, sdf4, sdf5, sdf6, sdf7, sdf8, sdf9; /..
-
[JAVA] Collection언어/JAVA 2022. 9. 8. 10:40
-자료구조를 구현하고 있는 클래스 -자료구조: 각각의 데이터들을 효율적으로 저장하고 운용하기 위한 방법론을 실제구현하기 위한 분야 1. 배열 - 다수개의 요소를 저장할 수 있음, 번호(첨자)에 의해 손쉬운 접근 방법을 제공 - 크기가 고정, 데이터의 중간삽입과 중간삭제에 비효율적 2. 리스트(List) - 크기의 제약없이 데이터를 저장할 수 있음, 데이터의 삽입과 삭제에 최적화 - 검색에 취약 - (참조값(주소)을 저장하기 때문에) 이를 개선하기 위한 더블 링크드 리스트를 사용하기도 함 - 데이터 저장 시 불필요한 메모리 사용 자바의 모든 자료구조 클래스(컬렉션 클래스)들은 java.util 패키지를 통해 제공받을 수 있음 위와 같은 동적 배열을 구현하고 있는 클래스들 - Vector, ArrayList..
-
[JAVA] String Class언어/JAVA 2022. 9. 8. 10:30
// 가용한 HEAP 공간에 "Hello" 를 저장하고 그 주소를 s 에 전달 String s = "Hello"; String s1 = "Hello"; // 이미 저장된 "Hello" 가 있다면 그 주소를 전달하여 s1에 저장합니다 System.out.println("0. " + s); // 단점 : 같은 문자열 Hello 를 다른 변수에 저장하려 한다면, 새로운 공간이 할당 되지 않음 // new에 의해 새로운 HEAP 공간에 "Hello" 를 저장, 그 주소를 s 에 전달 s = new String("Hello"); s1 = new String("Hello"); // new에 의해 새로운 HEAP 공간에 "Hello" 를 저장, 그 주소를 s1 에 전달 System.out.println("1. " +..