programming/java

    [Java] 프로젝트 기획 및 설계

    23. 프로젝트 기획 및 설계 1. 소프트웨어 공학(Software Engineering) 1.1 소프트웨어의 개발, 운용, 유지보수 등의 생명 주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문1.2 즉, 공학을 소프트웨어에 적용하는 것 2. 정보시스템 개발 프로세스 폭포수 모델(Waterfall Model) : 요구사항 정의 및 분석, 시스템 설계, 구현, 테스팅이라는 일련의 단계를 통해 소프트웨어(시스템)를 개발하는 모델 3. 요구공학(Requirements Engineering) : 요구사항을 정의하고 문서화하고 관리하는 프로세스 3.1 현행 시스템 분석하기3.1.1 현행 시스템 파악- 현행 시스템 파악 : 현행 시스템의 하위 시스템, 제공하는 기능, 기술요소, 사용하는 소프트웨어 및 하드웨..

    [Java] 소스코드관리

    23. 소스코드관리(git) 가. 소스 코드 관리(Source Code Management, SCM) : 소프트웨어 변경 사항 및 버전을 관리하는 것 1) 소스 코드 관리툴 - 소프트웨어의 버전을 관리하고 실수로부터 안전하게 프로젝트를 보호하고 효과적인 협업을 위한 툴 2) 소스 코드 관리툴의 종류- CVS(Concurrent Versions System)- SVN(Subversion) : CVS의 단점을 보완한 툴, 구글, 네이버(2016년 12월 종료) 등에서 지원, 자체 서버 구축도 가능- Git : 분산 버전 관리 시스템, SVN보다 빠른 속도, 최근 많이 사용되고 있음깃허브(GitHub) : Git을 사용하는 프로젝트를 지원하는 웹서비스(http://github.com), 깃허브에서는 공개 프로..

    [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이 성립한다.