본문 바로가기

Language/JAVA

(21)
객체 배열 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 package week_FOUR; /* * 객체를 배열로 만들기 * 반지름 가지고 원 면적을 구하기. * 기억할 것 : 생성자는 하나의 붕어빵 틀이다. */ class Empty{ int radius; public Empty(int radius) { this.radius = radius; } public double getArea() { return 3.14*radius*radius; } } public class EmptySpace { public static void main(String[] args) { Em..
Constructor & Overloading public class constructor_review { private int num; constructor_review() { num =100; } constructor_review(int num) { this(); //기본생성자를 호출 num = num+ num; } public int getRollNum() { return num; } public static void main(String args[]) { constructor_review obj = new constructor_review(55); System.out.println(obj.getRollNum()); } } 위의 코드를 출력값이 155가 되도록 수정 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18..
객체 배열 / 추상화 객체 배열 일반 데이터 타입의 배열과 동일한 개념. 같은 클래스의 객체 여러개를 그룹화 할 수 있음. * 동일한 클래스의 객체는 배열로 묶어서 여러개 한번에 제어 가능. 일반 데이터형.. int[] data = new int[3]; 객체 배열 .. Array[] data new Array[3]; 각 경우에 대한 배열의 요소 할당 처리 : 일반 데이터형은 단순하게 값을 대입함. but 객체 배열은 new를 사용하여 객체 할당 필요 ex) data[0] = new Array(); data[1] = new Array(); data[2] = new Array(); - 부모 클래스의 배열에 자식 클래스의 객체 넣기 : 배열의 생성이 부모 클래스로 지정되었을 경우, 모든 자식 클래스의 객체들은 그 배열에 포함될 수..
다형성(오버라이드,오버로드)/객체 형변환/암묵적 형변환 다형성 - 오버라이드(Override) 육군,해군,공군은 Unit이라는 클래스를 통하여 공통 속성을 정의하고 있다 공통속성 -> 이름(멤버변수 및 getter,setter), 공격(attack()메서드) 같은 이름이지만 다른 동작을 수행해야하는 필요성 부모 클래스가 갖고있는 기능을 자식 클래스가 재정의 하나의 이름으로 다양한 효과 얻기 재정의된 메서드의 흐름(2.Override 참조) e.say(); : 자식클래스에 구현된 메서드가 없기 때문에, 부모 클래스에 정의된 메서드를 찾아가게 됨 k.say(); : 자식클래스가 부모와 같은 이름의 메서드를 정의하고 있기때문에 k 객체에게는 부모클래스가 정의하고 있는 say() 메서드가 가려지게 됨 Super 클래스의 상속관계에서 자식클래스가 부모클래스를 가리키는..
클래스, getter그리고setter, 접근한정자 은닉성 멤버변수나 메서드가 객체에 노출되지 않도록 설정하는 기법 객체를 사용하는 측의 실수로 인한 기능의 오작동을 방지하기 위해 클래스의 일부를 숨기는 처리. 변수의 이름이나 메서드 이름 앞에 접근 한정자를 지정. 접근 한정자 public - 모든 곳에서 접근 가능.일반적으로 모든 메서드 앞에 명시 private- 클래스 안에서만 사용가능, 객체를 통해 접근 ㄴㄴ. 일반적으로 모든 멤버변수 앞에 명시 protected - 현재 클래스 내의 다른 자원이나 같은 패키지 안에서 존재하는 클래스와 하위 클래스에서 접근가능. 잘 사용 하지는 않음 default - 접근 한정자를 명시하지 않은 경우, 현재 클래스 내의 다른 자원이나 동일 패키지 내의 다른 클래스에서 접근 가능. 잘 사용하지는 않음 getter, s..
Constructor -생성자 (constructor) 객체변수에 값을 무조건 설정해야만 객체가 생성될 수 있도록 강제하는 방법 메소드명 = 클래스명 & 리턴 자료형이 없는 메소드 package Constructor; public class DeepBlue2 extends Blue { public DeepBlue2(String name) { this.setName(name); } 생성자의 규칙 1. 클래스명과 메소드명이 동일하다 2. 리턴타입을 정의하지않음. 생성자는 객체가 생성(=new라는 키워드로 객체가 만들어질 때.) 될 때 호출. public static void main(String[] args) { DeepBlue2 deepBlue = new DeepBlue2("개강싫어"); //DeepBlue2의 새로운 객체 :..
JAVA Inheritance * Inheritance1 클래스를 상속하는 Inheritance2 클래스를 만들어보세. public class Inheritance1{ String name; public void setName(String name){ this.name = name; } } public class Inheritance2(자식) extends Inheritance1(부모) { } 클래스 상속을 위해서는 extends라는 키워드를 사용함. = 자식클래스 extends 부모클래스 Inheritance2 클래스에 name이라는 객체 변수와 setName이라는 메소드를 만들지 않았지만 Inheritance1 클래스를 상속을 받았기 때문에 그대로 사용 가능. package day6; public class Inheritance2..
Method package day6; //자바에서는 클래스를 떠나 존재할 수 있는게 없다. // 클래스 내의 함수 : 메소드 //메소드가 하는 일 : 입력을 가지고 어떤 일을 수행한 다음에 결과물을 내어놓는 것. // 입력값 ---> 메소드 ----> 리턴값 public class Method1 { // public int sum(int a, int b) { // return a+b; // } //평범한 메소드의 전형적인 예시. // public String say() { // return "Hi"; // } 입력 인수 부분을 나타내는 괄호 안이 비어있는 경우... 리턴으로 Hi라는 문자열을 돌려줌 // public void sum(int a , int b) { // System.out.println(a+b); //..