본문 바로가기

OLD/자바19

리팩토링 리팩토링이란? 리팩토링은 기존의 코드를 외부의 동작방식에는 변화없이 내부 구조를 변경해서 재구성하는 작업 또는 기술을 말한다. 리팩토링을 하면 코드 내부의 설계가 개선되어 코드를 이해하기가 더 편해지고, 변화에 효율적으로 대응할 수 있다. 결국 생산성은 올라가고, 코드의 품질은 높아지며, 유지보수하기 용이해지고, 견고하면서도 유연한 제품을 개발할 수 있다. 리팩토링은 절실히 필요한 코드의 특징을 나쁜 냄새라고 부르기도 한다. 대표적으로, 중복된 코드는 매우 흔하게 발견되는 나쁜 냄새다. 이런 코드는 적절한 리팩토링 방법을 적용해 나쁜 냄새를 제거해 줘야 한다. 리팩토링은 개발자가 지관적으로 수행할 수 있긴 하지만, 본격적으로 적용하자면 학습과 훈련이 필요하다. 나쁜 냄새에는 어떤 종류가 있고, 그에 따른.. 2018. 6. 18.
자바의 역사 ★ 자바의 역사 자바는 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향형 프로그래밍 언어이다. 자바의 가장 중요한 특징은 운영체제에 독립적이라는 것이다. 자바로 작성된 프로그래밍은 운영체제의 종류에 상관없이 실행이 가능하다. 자바는 풍부한 라이브러리를 통해 프로그래밍에 필요한 요소들을 기본적으로 제공한다. 자바의 역사는 제임스고슬링 1991년 썬의 엔지니어들이 의해서 고안된 오크라는 언어에서 시작이 되었다. 자바의 특징운영체제의 독립적이다. 자바로 작성된 프로그램은 운영체제와 하드웨어에 상관없이 실행 가능하며, 이것이 한번 작성이 되면 어디서나 실행이 된다. 객체지향적인 언어이다. 자바는 프로그래밍의 대세로 자리 잡은 객체지향 프로그래밍 언어 중의 하나로 객체지향개념의 특징인 상.. 2018. 2. 21.
★★★ 생성자 응용 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103package Extends; class DeckTest { public static void main(String args[]) { Deck d = new Deck(); // 카드 한 벌(Deck)을 만든다. Card c = d.pick(0); // 섞기 전에 제일 위의 카드를 뽑는다. System.out.println(c); d.shuffle();.. 2017. 8. 11.
★★ 상속 extends에 관하여 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253package Extends; class Tv { boolean power; // 전원상태(on/off) int channel; // 채널 void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; }} class CaptionTv extends Tv { boolean caption; // 캡션상태(on/off) void displayCaption(String text) { if (caption) { // 캡션 상태가 o.. 2017. 8. 8.
★★★변수의 초기화★★★ 변수를 선언하고 처음으로 값을 저장하는 것을 변수의 초기화라고 한다. 변수의 초기화는 경우에 따라서는 필수적이기도 하고 선택적이기도 하지만, 가능하면 선언과 동시에 적절한 값으로 초기화 하는 것이 바람직하다. 멤버변수는 초기화를 하지 않아도 자동적으로 변수의 자료향에 맞는 기본값으로 초기화가 이루어지므로 초기화를 하지 않고 사용해도 되지만 지역변수는 사용하기 전에 반드시 초기화를 해야 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 class InitTest { int x; 2017. 8. 7.
★★this 생성자 개인적으로 연습해서 만든것 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 package Mon; //Student_DB 학생DB를 통한 this 생성자의 연습 this 다른 생성자를 부를 때 사용하는 말 class Stu { String level;//대학교 1학년부터 4학년을 위해 표시 protected int DB_Number;//학생들 마다 DB고유넘버 String major;//주요 전공을 의미 String professor;//각 전공별 주요교수를 의미 //인스턴스 초기화를 위해 생성자를 만든다. //생성자는 클래스의 이름과.. 2017. 8. 7.