java6 JAVA | 재귀호출, 변수의 초기화 Ch6 3.10 재귀호출 recursive call 메서드의 내부에서 메서드 자신을 다시 호출하는 것 재귀호출 하는 메서드를 재귀메서드라고 한다. public class Exam { public static void main(String[] args) { int result = factori(4); System.out.println(result); } static int factori(int n) { int result=0; if(n==1) result =1; else result = n *factori(n-1); return result; } } 5.4 생성자에서 다른 생성자 호출하기 생성자 this() -생성자에서 다른 생성자를 호출할 때 사용 -다른 생성자 호출시 첫 줄에서만 사용가능 (생성자가 하.. 2022. 2. 5. JAVA | instanceof연산자, 매개변수 다형성, 객체 배열로 다루기 5.3 instanceof연산자 -참조변수의 형변환 가능여부 확인에 사용함. 가능하면 true반환 (조상자손) -형변환 전에 반드시 instanceof로 확인해야 함 (조상과 자기자신에 대해 참을 반환함) void doWork(Car c){ if (c instanceof FireEngine) { //형변환 가능한지 확인 FireEngine fe = (FireEngine)c; //형변환 fe.water(); ... //형변환 하는 이유는 인스턴스의 원래 기능을 모두 사용하기 위해서임 //Car타입의 리모컨인 c로는 water()를 호출할 수 없으니까 //리모컨을 FireEngine타입으로 바꿔서 water()호출함 class Ex17 { public static void main(String[] args).. 2022. 2. 3. JAVA | 다형성, 참조변수의 형변환 5.다형성 polymorphism 5.1 다형성이란 -여러가지 형태를 가질 수 있는 능력 -조상 타입 참조변수로 자손 타입 객체를 다루는 것 (조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하는 것) class Tv{ boolean power; int channel; void power() { power= !power; } void channelUp() { ++channel; } void channelDown() { --channel; } } class CaptionTv extends Tv{ String text; void caption() {/*생략*/ } } 인스턴스 타입과 참조변수 타입이 일치하는것이 보통이지만 서로 상속관계에 있을 경우 조상 클래스 타입의 참조변수로 자손 클.. 2022. 1. 28. JAVA | 오버라이딩, package, import, 제어자 2. 오버라이딩 2.1 오버라이딩이란? overide->덮어쓰다 상속받은 조상의 메서드를 자신에 맞게 내용을 변경하는 것 상속받은 메서드를 그대로 사용하기도 하지만, 자손 클래스 자신에 맞게 변경해야 할때 조상의 메서드를 오버라이딩함 + 재정의라는 의미 부모가 가지고있는 메서드를 그대로 가져와서 body만 바뀌는 경우 method의 (method시그니처) name, return type, argument list가 같아야한다. public String getDetails() { //method시그니처 return super.getDetails() + "\ndepartment:" + department; //method 바디 } class Point { int x; int y; String getLocat.. 2022. 1. 26. JAVA | 상속, 포함관계 Ch7. 객체지향 프로그래밍2 1.상속(inheritance) 1.1상속의 정의와 장점 상속은 기존의 클래스를 재사용하여 새로운 클래스를 작성하는것 두 클래스를 부모-자식으로 관계를 맺어주는 것 class child extends Parent { //... } //extend확장 -자손은 조상의 모든 멤버를 상속받는다(생성자, 초기화블록 제외) -자손의 멤버 개수는 조상보다 적을 수 없다(같거나 많다) -자손의 변경은 조상에 영향을 미치지 않는다. -자손클래스는 조상의 멤버를 모두 상속받기 때문에 조상클래스에 멤버변수 추가하면 자손에 자동추가되는 효과 얻음 -생성자와 초기화 블럭은 상속되지 않고 멤버만 상속된다. 조상클래스 - 부모클래스parent, 상위클래스super, 기반클래스base 자손클래스 - .. 2022. 1. 24. JAVA | 변수와 메서드, 오버로딩, 생성자 3. 변수와 메서드 3.11 클래스 메서드(static메서드)와 인스턴스 메서드 인스턴스 메서드 -인스턴스 생성 후, '참조변수.메서드이름()'으로 호출 -인스턴스 멤버(iv, im)와 관련된 작업을 하는 메서드 -메서드 내에서 인스턴스 변수(iv) 사용가능 static 메서드(클래스 메서드) -객체생성없이 '클래스이름.메서드이름()'으로 호출 -인스턴스 멤버(iv, im)와 관련없는 작업을 하는 메서드 -메서드 내에서 인스턴스 변수(iv) 사용불가 class MyMath2 { long a, b; long add() { //인스턴스 메서드 return a + b; } static long add(long a, long b) { //클래스 메서드(static) return a + b; } } iv의 사용여.. 2022. 1. 23. 이전 1 다음