(1) 객체 비교 a.equals(b) 같다(true) | 다르다(false) package equalsex; class Value{ int num; } public class EqualsTest { public static void main(String[] args) { Value val1 = new Value(10); Value val2 = new Value(10); package equalsex; class Value{ int num; Value(int n){ num=n; } } public class EqualsTest { public static void main(String[] args) { Value val1 = new Value(10); Value val2 = new Value(10); }..
패키지 - 클래스의 카테고리역할 프로젝트 - 외장하드 (여러 파일 ---- 여러개의 폴더로 분류 ) 패키지 -- 여러 클래스 java.lang 패키지의 특징 : import가 필요없는 클래스들의 모임 1. Object 1) 최상위 클래스 package objectex; class MyType /*extends object*/{ } public class ObjectTest { void a(){ System.out.println("안녕"); } int b(){ return 10; } int c(int a, int b){ return a+b; } public static void main(String[] args) { ObjectTest obj = new ObjectTest(); obj.a(); // 안녕출..
1. 다형성 부 모= 자식 ; ▷ 다형성 - 다양한 상태(모양) ▷ 하나의 이름에 대하여 여러가지 설정을 담고 있는 상태 "다양하다" ▷ 메서드가 상속을 하다보면 여러개의 기능으로 재정의 될 수 있다. ▷ 한 이름에 여러개의 재정의된 메서드를 사용하고 싶을 때 다형성이라는 문법을 적용하면 된다. --> 자식 재정의 메서드가 호출된다 ( 재정의를 해놓지 않았으면.. 그냥 부모가 호출하면 된다 ) #실습 package polyex; class Phone{ void call(){ System.out.println("전화를 걸다"); } } class Phone2G extends Phone{ void call(){ super.call(); System.out.println("단축번호 기능을 이용해서 전화를 걸다..
* 재정의 ▷ 상속을 받아서 부모의 메서드를 사용하다보면 본의 아니게 메서드의 내용을 변경시켜서 사용해야 될 때가 있다. ▷ 기존 메서드의 이름은 그대로 유지(파라미터까지)하면서 바디의 내용만 {} 바꿔서 사용하는 것을 "재정의" 라고 한다. 부모클래스--> void print(){ syso("모니터 출력할래"); } 자식클래스--> void print(){ //명시적으로 하나 만든다. : 재정의 한다. (override) syso("프린터에 인쇄할래"); } * 이름은 똑같이 유지하 되, 내용을 변경시켜서 사용한다. 그럼, 부모의 모니터 출력 메서드도 사용할 수 있고 자식이 재정의한 프린터 인쇄 메서드도 사용할 수 있게된다. * 어떻게 하면 모니터 출력인지 프린터 인쇄인지를 구분할까? * 기본 방침은 ..
∨ 객체 지향언어에서 클래스를 다루는 중요한 문법 중에 하나! - 상속 ① 재산을 자식에게 물려주다 ② 클래스에서는 재산이 변수와 메서드이다. ③ 다른 클래스에게 변수와 메서드를 사용할 수 있도록 한다 class A{ } class B extends A{ } - extends : 확장하다 ∨ B는 A를 "확장"시켰습니다. (A의 재산을 B한테 줄테니 B는 그 재산을 바탕으로 새로운 변수와 메서드를 추가시켜서 사용해라) - class A{ //부모클래스, 조상, super(*), 상위, base, void draw(){} } class B extends A{ //자식클래스, 자손, sub, 하위, derived //여기 없는데?? -> 그래도 가능하다 "상속" void paint(){} } -- B로 인스..
static 키워드 1. 사용처 : ⑴ 인스턴스 변수 앞에 붙인다. ⑵ 메서드 앞에 붙인다. ⑶ 내부 클래스를 만들때, 클래스앞에 붙일 수 있다. ⑷ 상수 만들 때도 붙인다. 2. 기능 : 인스턴스(메모리에 올리는 것)가 컴파일 단계에서 발생한다. (new 하기 전에 미리 렘에 올라가게 된다) 3. 효과 : 인스턴스들이 "공유"하는 데이터를 보관하게 된다. 4. 해석 : "미리 만들어진~", "공유 하는 값" "우리 거" ( 인스턴스 변수는 각각의 개개인) Integer.parseInt(""); //클래스 메서드라 부른다. #실습 1) package staticex;class ClassBan{ static String ban="A"; // 인스턴스 변수가 아닌 클래스 변수이다 ( 인스턴스가 만들어 질때마..
#실습(복습) package contructorex; class TvDrama{ private String title; private String actor; private int stYear,stMonth,stDay; private int endYear, endMonth, endDay; //contructor public TvDrama(String title, String actor) { super(); this.title = title; this.actor = actor; } public TvDrama(String title, String actor, int stYear, int stMonth, int stDay) { super(); this.title = title; this.actor = acto..
#실습( 저번 시간 복습 ) package constructorex; class School{ String schName; String address; int gradeNumber; //alt+shift+s->r(setter getter 자동 입력) public String getSchName() { return schName; } public void setSchName(String schName) { this.schName = schName; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public int getGradeNumber() { ..
#메서드 실습 √클래스의 필요성 name sight height weight 철수 객체 "철수" 1.2 1.0 173 65.3 영희 객체 "영희" 1.2 1.0 169 48.3 민수 객체 "민수" 2.0 1.5 179 75.3 -->위 표를 보고 표와같은 소스를 만들어 내라 package privateex;class BodyCheckInfo{//데이터를 구성할 수있는 틀 제작 String name; double lSight; double rSignt; int height; double weight; //객체가 필요할 때, 값을 전달해주는(argument) 메서드를 만들어라 //메서드 만들때는 그 아규먼트를 수신해야한다. 그에 걸맞는 파라미터를 준비해 놔야함 //파라미터(매개변수)가 있으면 반드시 아규먼트..