프로그램에서의 상속은 자식이 부모를 선택하는 개념이다. 상속은 기존의 클래스를 재사용하여 새로운 클래스를 작성 하므로 중복되는 코드를 줄여준다. 또한 상속을 이용하면 부모 클래스의 수정으로 모든 자식클래스들도 수정되는 효과를 가져오기 때문에 유지 보수 시간을 최소화 할 수 있다. 다른 클래스가 가지고있는 멤버(변수와 메소드)들을 새로 작성할 클래스에서 직접 만들지 않고, 상속받음으로써 새클래스가 자신의 멤버처럼 사용이 가능하다. class 자식클래스 extends 부모클래스{ //필드 //생성자 //메소드 } public class Gold extends Silver{ } -> Gold클래스는 Silver 클래스를 상속한다. -> Gold클래스는 Silver 클래스의 멤버들을 사용 할 수 있다. 상속의 ..
이공계전문기술연수/Java
Java에 대해 공부해보자!수업을 계속 들으면서 앞에 부분은 상대적으로 이해가 잘 되었으며 만약 부족한 부분이 생기면 "익숙하지 않아서 그렇지 복습을 열심히 하면 될 것이다."라는 생각이 있었다. 그런데 비전공자의 입장에서 "Java는 객체지향 프로그래밍이다"라는 말은 와 닿지 않았다. OOP부터 수업을 들으면서도 어렵다. 하지만 정말 Java는 객체 지향 프로그래밍이다. 그래서 여기서부터는 정말 열심히 복습해야 한다. 객체를 잘 다루지 못한다면 Java는 계속 어려울 것이다. 현재 수업은 클래스, 상속, 인터페이스, 예외처리, 컬렉션 모두 끝난 상태이다. 약 3주 동안 Java에 대해 웬만한 것은 거의 다 배웠다. 수업 내용 자체는 좋다. 만약 내가 혼자 Java를 공부하려고 했으면 아직도 앞부분을 공부하고 있을 것이다. Jav..
배열의 복사(copy) 1. 얕은 복사 int [ ] num1 = {10,20,30,40,50}; int [ ] num2; num2 = num1; num1 [0] = 100; system.out.print(num1 [0]); -> 100 system.out.print(num2 [0]); -> 100 -> 10 아님 int [ ] num1 = {10,20,30,40,50}; int [ ] num2; num2 = num1; num1[0] = 100; system.out.print(num1[0]); -> 100 system.out.print(num2[0]); -> 100 객체의 주소 값만 가져와 참조형 변수에 저장하고 하나의 객체를 두 변수가 참조하고 있는 것! 2. 깊은 복사 다른 객체를 생성하여 새로운 객..
변수는 1개의 데이터만을 저장할 수 있다. 저장할 데이터의 수가 많아지면 많은 변수가 필요하고 코드도 길어진다. 그래서 많은 양의 데이터를 적은 코드로 쉽게 처리할 수 있는 배열에 대해 알아야 한다. 배열 같은 타입의 데이터를 연속된 공간에 나열하고, 각각의 데이터에 인덱스(index)를 부여해 놓은 자료구조이다. 예를 들어 student라는 배열이 있다고 하자. student[] B C E F H K L R T 인덱스 0 1 2 3 4 5 6 7 8 각 인덱스(index)는 각 항목의 데이터를 읽거나 저장하는 데 사용되며 배열의 이름 옆에 대괄호[ ]에 기입이 된다. 인덱스는 0부터 시작한다. student [0]은 B이고 student [5]는 K이다. 배열의 특징 1. 배열은 같은 타입의 데이터만 ..
데이터 타입(data typte) 기본타입(primitive type) 참조타입 정수타입 byte char short int long 배열타입 열거타입 클래스 인터페이스 실수타입 float double 논리타입 boolean 기본 타입과 참조 타입 기본타입 : byte, char, short, int, long, float, double boolean 변수는 실제 값을 변수 안에 저장한다. 참조타입 : 배열, 열거, 클래스, 인터페이스 변수는 메모리의 번지를 변수 안에 저장한다. 번지를 통해 객체를 참조한다는 뜻에서 참조 타입 이라고 한다. 메모리 사용 영역 JVM(JAVA Virtual Machine) 메소드 영역(Method Area) JVM이 시작할 때 생성되고 모든 스레드가 공유하는 영역 사용되는..
for문은 정해진 횟수만큼 반복을 한다고 생각할 수 있다. while문은 조건식이 true일 경우에 계속해서 반복을 한다. 조건식에는 비교 또는 논리 연산식이 주로 오게 되는데 조건식이 flase가 되면 반복 행위를 멈추고 while문을 종료한다. // 사용자가 원하는 만큼 명령들을 여러번 실해하는 제어문 // 특정 조건이 만족되는 동안 명령을 계속적으로 실행 // for(초기; 조건; 증감){ //실행코드; //} // while(조건문){ //실행코드; //} // ex ) int i = 0; // while(i < 5) { //system.out.println("Hi"); //i++; //} while문 코드의 흐름이다. 실습문제 (1) public void whileTest() { int i = ..
반복문은 코드가 반복적으로 실행되도록 할 때 사용되며, 반복문의 종류로는 for문, while문, do-while문이 있다. for문은 반복 횟수를 알고 있을 때 주로 사용하고, while문은 조건에 따라 반복할 때 주로 사용한다. while문과 do-wile문의 차이점은 조건을 먼저 검사하느냐 나중에 검사하느냐의 차이일 뿐 나머지는 같다. // 1. for문 (단일 for문) // for (초기식 ; 조건식 ; 증감식) { // 실행 코드; // } // 1회전(첫회전 시) // 초기식 - > 조건식 확인 - > (조건식이 true일 때) 실행코드 실행 - > 증감식 수행 // 2회전 이후 // 조건식 확인 - > (조건식이 true 일 때) 실행코드 실행 -> 증감식 수행 // 조건식 결과 false..
switch도 if문과 마찬가지로 조건 제어문이다. 다만 if 문과의 차이점은 if문은 조건의 범위를 지정할 수 있었다. 하지만 switch문은 확실한 값의 조건(변수)이여야 된다. switch문은 변수의 값에 따라서 실행문이 결정되기 때문에 같은 기능의 if문보다 코드가 간결하다. switch문 switch(동등 비교할 대상자) { case 값1 : 실행코드 1; break; case 값2 : 실행코드 2; break; .. default : 실행코드3; } 비교할 대상자 == 값1, 실행코드 1을 실행하고 break를 받아 빠져나온다. 1) 연습문제(1) public void method1() { // 1~3 사이의 정수를 입력받아 1인경우 "빨간색입니다" 2인경우 "파란색입니다" 3인경우 "초록색입..