목록Java1(주말) (14)
열심히 끝까지
[8일차 수업내용] 1. 제어자 2. 다형성 ============================================================= 1. 제어자 ( modifier ) 1-1 ) 제어자란? - 제어자란 클래스, 변수 또는 메소드의 선언부에 함께 사용되어 부가적인 의미를 부여 - 제어자의 종류는 크게 접근제어자와 그 외의 제어자로 나눌 수 있음 접근제어자 public, protected, (default), private 그 외 제어자 static, final, abstract, transient, synchronized .... - 제어자는 클래스나 멤버변수와 메소드에 주로 사용하며, 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능 - 단, 접근제어자는 한번에 4가..
[7일차 수업 내용] 1. 상속 2. 오버라이딩 ==================================================================== 1. 상속 ( inheritance ) 1-1 ) 상속의 정의와 장점 - 상속이란 기존 클래스를 재사용하여 새로운 클래스를 작성하는 것 - 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고, 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이 ==> 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생성성과 유지보수에 크게 기여 - 상속을 구현하기 위해선 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 extends와 함께 써 주기만 ..
[6일차 수업 내용] 1. 오버로딩(Overloading) 2. 생성자(constructor) 3. 변수의 초기화 ====================================================================1. 오버로딩( Overloading ) 1-1 ) 오버로딩이란? - 한 클래스 내에 같은 이름의 메소드를 여러 개 정의하는 것을 '메소드 오버로딩( method overloading )' 또는 간단히 오버로딩(overloading)이라고 함 - 하나의 메소드 이름으로 여러 기능을 구현하기 위해 사용 1-2 ) 오버로딩의 장점 - 하나의 이름을 사용하고 기억하면 되므로 '이 메소드는 이름이 같으니 같은 기능을 하겠구나' 라고 예측이 가능 - 메소드 이름을 절약할 수 있음 ..
2-6 ) 클래스메소드 ( static method )와 인스턴스 메소드 - 인스턴스 메소드는 인스턴스 변수와 관련된 작업을 하는, 즉 메소드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메소드 - 인스턴스와 관련없는 ( 인스턴스 변수나 인스턴스 메소드를 사용하지 않는) 메소드는 클래스 메소드로 정의 ① 클래스를 설계할 때 멤버변수 중 모든 인스턴스가 공통으로 사용하는 것에 static을 붙힘 - 생성된 각 인스턴스는 서로 독립적이기 때문에 각 인스턴스의 변수는 서로 다른 값을 유지 - 그러나 모든 인스턴스에서 같은 값이 유지되어야 하는 변수는 static을 붙여서 클래스 변수로 정의 ② 클래스 변수(static)는 인스턴스를 생성하지 않아도 사용할 수 있음. - static이 붙은 변수는 클래스가 ..
[5일차 수업 내용] 1. 객체지향언어 ( 클래스와 객체 ) 2. 변수와 메소드 ============================================================================ [ 객체지향언어 ( 클래스와 객체 ) ] 1. 객체지향언어 - 기본 개념은 ' 실제 세계는 사물(객체)로 이루어져 있으며 발생하는 모든 사건들은 사물간의 상호작용이다. ' 라는 것 - 실제 사물의 속성과 기능을 분석한 다음 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨놓은 것과 같음 - 객체지향언어의 주요 특징 ① 코드의 재사용성이 높다. - 새로운 코드를 작성할 대 기존의 코드를 이용하여 쉽게 작성할 수 있음 ② 코드의 관리가 용이하다. - 코드의 관계를 이용해서 적은..
package example01; public class ArrayEx10 { public static void main(String[] args){ int[][] score = { //국, 영, 수 {80, 70, 50}, {40, 90, 100}, {60, 80, 30} }; // 각 학생의 총점 + 평균, 전체 총점, 전체 평균 int totalSum = 0; Double totalAvg = 0; for(int i = 0; i < score.length; i++) { int studentSum = 0; Double studentAvg = 0; for(int j = 0; j < score[i].length; j++) { studentSum += score[i][j]; totalSum += score[..
[4일차 수업 내용] 배열(Array) * arr 배열의 0번 인덱스 값부터 result 배열에 복사 ==> 복사를 할 때는 result 배열의 0번 인덱스부터 채워 넣음 ==> 이 때 arr 배열의 길이만큼(개수만큼) 복사 Arrays.toString(arr); // [1, 2, 3, 4, 5] Arrays.toString(result); // [1, 2, 3, 4, 5, 0, 0, 0, 0, 0] 2. 다차원 배열 - 지금까지 우리가 배운 배열은 1차원 배열인데, 2차원 이상의 배열도 선언해서 사용 가능 2-1 ) 2차원 배열 선언과 인덱스 선언 방법 선언 예 *타입[ ][ ] 변수이름; int[ ][ ] score; 타입 변수이름[ ][ ]; int score[ ][ ]; 타입[ ] 변수이름[ ];..
package example01; import java.util.Scanner; public class FlowEx12{ public static void main(String[] args){ // 입력한 숫자를 모두 더함, 단 0을 입력하는 순간 덧셈을 멈춤. Scanner sc = new Scanner(System.in); int num = 0; int sum = 0; boolean flag = true; while(flag { System.out.print("합계를 구할 숫자를 입력하세요(종료 : 0) > "); num = sc.nextInt(); // 1번째 방법 if(num == 0){ break; } sum += num; // 2번째 방법 if(num != 0) { sum += num; }el..