언어/JAVA59 OOP_상속 Casting 형변환 --> 레퍼런스타입의 형변환은 어떻게 일어나는가? 레퍼런스 타입의 형변환 *상속이 전제되어 있어야 한다. *객체 내에 필드와 메소드의 접근권한에 따라서 강제형변환인지 자동형변환인지 결정된다. *단, 부모클래스(슈퍼, 상위)에 있는 필드와 메소드가 포함되어있어야 casting 가능함. UpCasting *자식클래스(서브, 하위)가 부모클래스(슈퍼, 상위)로 자동으로 형변환 *객체(하위클래스) 내 모든 필드와 메소드에 접근할 수 있는 것은 X *상위클래스의 필드와 메소드에만 접근 가능하다. *오버라이딩된 메소드에 한해서는 하위클래스가 가지고 있는 메소드를 사용한다. DownCasting *부모클래스(슈퍼, 상위)가 자식클래스(서브, 하위)로 강제형변환 *ex) Child c1 = (Ch.. 2023. 3. 11. ArrayList_제네릭 기법 + for-each문 ArrayList package ArrayList기초; import java.util.ArrayList; public class Ex01_Main { public static void main(String[] args) { // ArrayList // : 크기가 가변적인 배열과 같은 형태를 가진 클래스 // 1.ArrayList 생성 // 레퍼런스 타입의 데이터만 저장할 수 있다. ArrayList list = new ArrayList(); //: 제네릭기법 //->객체를 생성하는 순간에 자료형이 결정되는 기법 //2. 데이터 추가하기 list.add("카페라떼"); list.add("아이스 아메리카노"); list.add("카라멜 마끼야또"); System.out.println("데이터 추가 전 : ".. 2023. 3. 10. OOP_클래스와 객체, 배열 Class => field & method package 연습장; public class Class { String name; String number; int age; int scoreJava; int scoreWeb; int scoreAndroid; public Class(String name, String number, int age, int scoreJava, int scoreWEb, int scoreAndroid) { super(); this.name = name; this.number = number; this.age = age; this.scoreJava = scoreJava; this.scoreWeb = scoreWEb; this.scoreAndroid = scoreAndroid; } pu.. 2023. 3. 9. 객체지향 프로그래밍(Object Oriented Programming) 예제1) 구조 이해 Class생성 Field(데이터, 속성) & Method(기능, 로직, 행위) 선언 public class Class { // 설계도 //1. Field(데이터, 속성) // 이름, 나이, 성별 String name; int age; char gender; //2. Method(기능, 로직, 행위) // 먹다, 말하다 public void eat() { System.out.println("먹다"); } public void talk() { System.out.println("말하다"); } } Main 생성 public class Main { public static void main(String[] args) { //실행공간 //Class 설계도를 토대로 객체 설정 //클래스의 in.. 2023. 3. 7. 메소드_자신을 제외한 약수의 총합을 구하는 메소드 방법1) package 메소드실습; public class Ex00_예제 { public static void main(String[] args) { // 자신을 제외한 약수의 총합을 구하는 getSum메소드 System.out.println(getSum(7)); } public static int getSum(int a) { int sum = 0; for(int i = 1; i 1~num까지의 숫자 중에서 num을 제외한 범위 //2. 나 자신을 제외한 약수들의 합을 구한다. -> 누적 합계 for(int i = 1; i < num; i++) { if(num%i == 0) { sum += i; } } return sum; } } 2023. 3. 6. 메소드 오버로딩_정수형 1차원 배열값을 for문을 사용해 출력 package 메소드; public class Ex12_오버로딩 { public static void main(String[] args) { add(3, 5); // 정수 정수 add(1.5, 8); // 실수 정수 add(4, 5.3, 7); // 정수 실수 정수 } public static void add(int num1, int num2) { System.out.println(num1+num2); } public static void add(double num1, int num2) { System.out.println(num1+num2); } public static void add(int num1, double num2, int num3) { System.out.println(num1 + num2.. 2023. 3. 4. 이전 1 2 3 4 5 ··· 10 다음