languages/java
[Java] 제네릭을 활용한 성적관리 프로그램
수정중 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671..
[Java] Swing
스윙 - 경량의 컴포넌트 MVC(Model-View-Controller) 패턴모델은 데이터 처리 뷰는 화면 처리 model 과 view를 조종하는 건 controller굉장히 중요하고, 실무에서 가장 많이 사용하고 있다
[Java] Graphic User Interface, GUI
Label : 고정된 글자를 뿌려주는 것Panel : 여러 개 컴포넌트를 하나에 관리해주는 것Panel, Frame은 꼭 알고 있어야 한다TextArea : 자기소개서 1500자 입력하시오.TextField : ID 입력하세요 * Frame Class경계선(border), title, menu, 시스템상자(최소화, 최대화, 종료 버튼) 등의 기능을 제공한다 * Panel컴포넌트들을 그룹별로 묶어서 처리할 때 주로 사용Frame에 컴포넌트를 직접 붙이지 않고 Panel에 그룹별로 붙이고, 다시 Panel을 Frame에 붙이는 경우가 많다. 다른 Panel을 생성하여 자신에게 붙일 수도 있어 윈도우 프로그램을 만들 때는 여러 개의 Panel을 사용하는 경우가 많다 ## Layout에 종류 5가지//f.set..
[Java] Interface, Inner class
인터페이스는 상수와 추상 메소드만 가지고 있다! 중간 역할을 하는 인터페이스를 만들어라같은 성질을 갖고 있는 것끼리 최대한 잘게잘게 쪼개라 Inner class는 4가지가 있다1. member inner class : 외부의 멤버를 마음대로 접근 가능2. static inner class : 잘 안씀3. local inner class : 메소드 안에다가 클래스를 만들 수 있다(제한)4. anonymous class : 주로 1회용으로 쓸 때 클래스 안에 클래스를 선언하는 방식has-a 방식이 아니라 nested loop를 짜듯이 짠다 inner class의 장점? 목적?Outer class의 멤버를 자유롭게 쓰기 위해서 만듦 inner class는 항상 outer 클래스를 통해서 만든다한 파트를 처리할..
[Java] 배열을 이용한 성적관리 프로그램
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816..
180320 복습
오브젝트 : 메모리에 올라가지 않은 상태인스턴스 : 메모리에 올라간 상태 패키지 네임주의할 점 : java가 들어가면 안된다!도메인을 거꾸로 쓴다 final만 붙이면 메모리 낭비가 된다!final static을 함께 붙여라! 자기 자신을 참조하는 레퍼런스 무조건 class는 api를 찾아보는 습관 final은 대상에 따라 틀리다클래스에 붙이면 상속 금지메소드에 붙이면 오버라이딩 금지필드에 붙이면 상수 # gc() : 강제로 객체를 끝내겠다 char 는 2바이트 (유니코드 때문) 다국어를 지원한다 프리미티 타입배열, 클래스 ... 레퍼런스 타입(무조건 동적 메모리에 할당해서 써야 한다) -마치 포인터 변수가 필요한 것처럼 레퍼런스 변수가 필요함 #객체를 만들때 생성자를 호출하기 때문에 ()를 꼭 명시해줘야..
[Java] 이칙연산 계산기 구현
123456789101112131415161718192021222324252627282930313233343536373839import java.util.LinkedList;import java.util.Queue;import java.util.Scanner; public class Test2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("계산할 수식을 입력하세요 : "); // ex. "11+22+33+4+5-10"; result = 65; String exp = sc.nextLine(); int plusSum = 0; int minusSum = 0; String[] oper..
Method Overriding
Method Overriding ㆍ 메소드의 이름, 메소드의 반환형, 메소드의 매개변수 선언-> 이 세가지가 같아야 method overriding이 성립한다.
[Java] Generic And Collection
14. 제네릭과 컬렉션 가. 일반화(Generic) 다양한 자료형의 데이터를 처리하기 위해서는 일반화(Generic) 작업이 필요함 나. 컬렉션(Collection) 1) 컬렉션이란?가) 집합데이터(다수의 데이터, 데이터 그룹)을 의미함나) 집합데이터를 저장할 수 있는 자료형배열컬렉션 클랙스(collection class)ex. ArrayList, HashSet, HashMap 다) 컬렉션 클래스들은 배열의 단점을 보완하기 위해 만들어짐라) 자료 구조들에 대한 알고리즘이 미리 구현되어 있음(Stack, LinkedList, Sort 등) 2) 자료형의 발전 과정변수 : 1개의 자료만 저장배열 : 여러 개의 자료 저장 가능(같은 자료형)구조체 : 다양한 자료형을 저장(Java에는 없음)클래스 : 다양한 자..
20. Generic Classes and Methods
클래스 변수 static인 이유?인스턴스 생성과 관계없이 제일 먼저 호출되는 method라서 public인 이유?main method의 호출 명령은 외부로부터 시작되는 명령이다.일종의 약속으로 이해하자 Generic이 갖는 의미는 '일반화'이다. [arrays]Enhanced for Loop for-each loop라고도 한다. 장점ㆍ 코드의 양이 확 준다.ㆍ 반복문 구성 과정에서 배열의 길이 정보를 직접 확인하고 입력할 필요가 없다. for(요소 : 배열) {반복할 문장들} 컬렉션 프레임 워크컬렉션 프레임워크의 대부분의 클래스들은 싱글 스레드 환경에서 사용할 수 있도록 설계되었다. 그래서 여러 스레드가 동시에 컬렉션에 접근한다면 의도하지 않게 요소가 변경될 수 있는 불안전한 상태가 된다. synchro..
[Java] GUI 프로그래밍
17. GUI 프로그래밍 17.1 자바의 GUI 프로그래밍 기술 TUI - Text-based User Interface 텍스트 기반의 인터페이스 GUI - Graphical User Interface 그래픽 기반의 인터페이스 17.1.1 AWT(Abstract Window Toolkit) GUI 프로그래밍을 위한 도구 GUI 프로그래밍에 필요한 다양한 컴포넌트를 제공 Java와 C로 구현 17.1.2 Swing AWT를 확장한 GUI 프로그래밍 도구 AWT보다 더 많은 종류의 컴포넌트를 제공 순수한 Java로 구현 17.2 화면 구성 요소 17.2.1 Component와 Container Component: 화면 구성 요소 Container: 다른 컴포넌트를 담을 수 있는 컴포넌트(그릇 역할) 17.2..
[Java] 멀티스레드
16. 멀티스레드 16.1 프로세스(Process)와 스레드(Thread) 16.1.1 작업관리자에서 프로세스와 스레드 확인 16.1.2 프로세스(Process)와 스레드(Thread) 프로세스(Process): 실행중인 프로그램 스레드(Thread): 프로세스 내에서의 작업 단위 16.1.3 프로세스의 메모리 구조 16.2 Single Thread와 Multi Thread 16.3 Multi Thread를 사용해야 하는 경우 16.3.1 GUI 프로그래밍 GUI 프로그래밍에서는 main Thread에서만 UI를 그리거나 갱신할 수 있음 16.3.2 시간이 오래 걸리는 작업 시간이 오래 걸리는 작업의 경우 ANR(Application Not Responding) 현상을 방지하기 위해 백그라운드에서 실행되..