전체 글323 상속, 포함 관계 상속 : 기존 클래스를 재사용하여 새로운 클래스를 작성 상속을 통해 클래스를 작성하면 적은양의 코드로 새로운 클래스를 작성할 수 있으며 공통적으로 관리할 수 있어 코드의 추가및 변경에 있어 용이하다. class Child extends Parent{ } 생성자와 초기화 블럭은 상속되지 않고 멤버만 상속 자손 클래스의 멤버 개수는 조상클래스보다 항상 같거나 많다. 자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래스의 멤버가 합쳐진 하나의 인스턴스로 생성 포함 관계 : 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것 class Circle{ int x; int y; int r; } class Point { int x; int y; } class Circle { Point c.. 2019. 6. 24. 생성자 생성자 : 인스턴스가 생성될때 호출되는 인스턴스 초기화 메서드, 인스턴스 변수의 초기화 작업에 사용 생성자의 조건 생성자의 이름은 클래스의 이름과 같아야 한다. 생성자는 리턴 값이 없다. 클래스이름(타입 변수명, 타입 변수명, ....){ //인스턴스 생성시 수행될 코드, //주로 인스턴스 변수의 초기화 코드를 적는다. } ※ 연산자 new가 인스턴스를 생성하는 것이지 생성자가 인스턴스를 생성하는 것은 아니다. Card c = new Card(); 연산자 new에 의해서 메모리(heap)에 Card 클래스의 인스턴스가 생성된다. 생성자 Card()가 호출되어 수행된다. 연산자 new의 결과로, 생성된 Card인스턴스의 주소가 반환되어 참조변수 c에 저장된다. 기본생성자 : 모든 클래스 내에는 반드시 하나.. 2019. 6. 23. Overloading 오버로딩 : 하나의 클래스에 같은 이름의 메서드를 여러 개 정의하는 것 (ex. println) 오버로딩의 조건 메서드 이름이 같아야한다. 매개변수의 개수 또는 타입이 달라야한다. 매개변수는 같고 리턴타입이 다른 경우 오버로딩이 성립되지 않는다.(리턴타입은 오버로딩에 영향을 주지 못한다.) 가변인자(varags)와 오버로딩 타입...변수명 String concatenate(String s1, String s2, String s3, String s4){...} String concatenate(String ...str){...} //위의 문장을 대체할 수 있다. 2019. 6. 23. JVM 메모리 구조 Method Area : 클래스에 대한 정보를 저장 heap : 인스턴스가 생성되는 공간 Call stack : 메서드의 작업에 필요한 메모리 공간을 제공조 기본형 매개변수 : 변수의 값을 읽기만 할 수 있다. (read only) 참조형 매개변수 : 변수의 값을 읽고 변경 할 수 있다.(read & write) ※반환타입이 '참조형' 이란ㄴ 것은 메서드가 '객체의 주소'를 반환한다는 것을 의미 재귀 호출 : 메서드 내부에서 메서드 자신을 다시 호출하는 것, 조건이 없다면 무한 반복에 빠지게 되므로 조건 설정이 필수 적이다. 인스턴스 메서드 : 메서드이 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드 클래스 메서드(static 메서드) : 인스턴스와 관계없는(인스턴스 변수나 인스턴스 메서드를 사용하.. 2019. 6. 23. 이전 1 ··· 65 66 67 68 69 70 71 ··· 81 다음