JAVA

JAVA/기본 이론

JAVA | 다중 클래스(Inner Class)

클래스 내부에도 클래스를 만들 수 있다. - 인스턴스 클래스 : 인스턴스 변수에 영향을 받는다. - 스태틱 클래스 : 인스턴스와 무관하다. public class C12_InnerClass { class Bus { int fee; int number; } static class Subway { int fee; int num; } public static void main(String[] args) { // 바깥 클래스의 실체가 생길 때 내부의 클래스를 사용할 수 있게 된다. C12_InnerClass.Bus b = new C12_InnerClass().new Bus(); // 스태틱 클래스는 바깥 클래스의 인스턴스 없이도 사용할 수 있다. C12_InnerClass.Subway s = new C12_In..

JAVA/기본 이론

JAVA | 접근 제어자(Access Modifier)

접근 제어자 (Access Modifier) - 다른 클래스에서 해당 자원을 사용하려고 할 때 허용 범위를 설정한다. - 같은 패키지의 다른 클래스가 접근할 때 - 다른 패키지의 다른 클래스가 접근할 때 종류 - public : 다른 패키지의 다른 클래스에서도 해당 자원에 자유롭게 접근할 수 있다. - protected : 다른 패키지의 다른 클래스에서 해당 자원에 접근하려면 상속을 받아야 한다. - default : (접근 제어자 미설정) 다른 패키지에서는 접근할 수 없다. - private : 같은 패키지의 다른 클래스에서도 접근할 수 없다. (현재 클래스에서만 사용할 수 있는 자원이 된다.) 용도 - 내가 만든 클래스를 가져다 쓰는 사람이 public 접근 제어자를 지닌 자원에만 접근하는 것을 원하..

JAVA/기본 이론

JAVA | Object

Object class - 모든 자바 클래스들의 최고 조상 클래스 - 모든 클래스는 Object 클래스의 자식이다. - Object 클래스의 메서드는 모든 클래스 내부에 상속받아져서 존재하고 있다. - Object 클래스의 메서드는 주로 해당 클래스에 맞는 형태로 오버라이드 하여 사용하게끔 설계되어 있다. toString() - '해당 객체를 문자열로 표현한다면 어떤 모양이어야 하는 가'를 정의하는 메서드 - 자바의 모든 객체는 toString()을 통해 문자열로 표현할 수 있다. - Object 클래스에 정의 되어있는 toString() 메서드의 원형은 해당 클래스의 이름과 메모리상 주소를 출력하게 되어있다. - 기본 동작이 싫다면 자식 클래스에서 해당 메서드를 오버라이드하여 사용하면 된다. equal..

JAVA/기본 이론

JAVA | 다형성(Polymorphism)

객체의 다형성 - 객체는 다양한 형태를 지닐 수 있다는 성질 - 강아지는 강아지이기도 하고 동물이기도 하다. - 아메리카노는 아메리카노이기도 하고 커피이기도 하다. - 하지만, 커피는 아메리카노가 아니다. 업 캐스팅 - 자식 타입은 아무런 문제 없이 부모 타입이 될 수 있다. - 자식 타입은 이미 내부에 부모 타입의 모든 것을 지니고 있기 대문에 (super) 부모 타입으로 타입 캐스팅 되는 것은 아무런 문제가 없다. - 업 캐스팅 된 상태에서는 자식 클래스 형태일 때 가지고 있던 기능을 사용할 수 없다. (ex: 아메리카노가 커피 형태일 때 putWater()를 사용할 수 없다.) 다운 캐스팅 - 부모 타입은 일반적으로 자식 타입이 될 수 없다. - 하지만, 부모 타입으로 업 캐스팅 되어있는 인스턴스의..

JAVA/기본 이론

JAVA | 상속(Extend)

클래스 상속 - 이미 만들어져 있는 클래스를 그대로 물려받아 사용하는 문법 - 자식 클래스는 부모 클래스의 모든 변수와 메서드를 물려받아 가지고 있다. - 부모 클래스에게 물려받은 기능을 그대로 사용할 수도 있지만 자식 클래스에서 마음대로 고쳐서 사용할 수도 있다. (기존의 변수, 메서드를 수정해서 사용하기 - 오버라이드) - 부모 클래스에 없는 기능을 자식 클래스에서 새로 추가해서 사용할 수도 있다. (새로운 변수, 메서드 추가해서 사용하기) - 자식 클래스의 생성자는 반드시 부모 클래스의 생성자를 가장 먼저 호출해야 한다. super - 자식 클래스로 생성된 인스턴스는 두 부분으로 분류할 수 있다. - this는 해당 인스턴스의 자식 클래스 부분을 의미한다. - super는 해당 인스턴스의 부모 클래..

JAVA/기본 이론

JAVA | 참조형 데이터 타입(References Data Type)

기본형 데이터 타입 - int, float, double, boolean, ... 등 소문자로 시작하는 타입들 - 기본형 데이터 타입 변수에는 실제 값이 저장된다. - 기본형 데이터 타입에는 .을 찍어 사용할 수 없다. 참조형 데이터 타입 - String - 배열 - 모든 클래스들 - 참조형 데이터 타입의 변수에는 주소값이 저장된다. - 참조형 데이터 타입에는 .을 찍어 저장된 주소값을 참조할 수 있다. public static void main(String[] args) { String str1 = new String("apple"); String str2 = "apple"; // 배열 타입 변수에는 해당 배열의 맨 앞(index 0번)의 주소가 들어있다. int[] numbers = new int[]..

JAVA/기본 이론

JAVA | static

static (정적 영역, 클래스 영역 인스턴스 영역) - 인스턴스 영역의 반대 개념이다. - 같은 클래스의 모든 인스턴스들이 함께 사용하는 공동 영역을 정적 영역(클래스 영역)이라고 한다. - 앞에 static이 붙은 자원들은 모든 인스턴스들이 함께 사용하는 공동 자원이 된다. import myobj.CartClanMember; import myobj.Sword; public class C05_Static { public static void main(String[] args) { Sword s1 = new Sword("녹슨 검"); Sword s2 = new Sword("여행자의 검"); for (int i = 0; i < 10; ++i) { s1.swing(); } System.out.println..

JAVA/기본 이론

JAVA | 생성자(Constructor)

클래스의 생성자(Constructor) - 해당 클래스의 새 인스턴스를 생성할 때 new와 함께 사용하는 것 - 생성자를 정의하지 않은 클래스에는 기본 생성자가 자동으로 생성된다. (인스턴스를 생성할 때 아무 동작도 하지 않음) public static void main(String[] args) { Apple a1 = new Apple(); // 기본 생성자 // import를 안하고 클래스를 사용하는 방법 myobj.Orange o1 = new myobj.Orange(); myobj.Orange o2 = new myobj.Orange("America"); myobj.Orange o3 = new myobj.Orange("터키", 3000, 'A'); o1.info(); o2.info(); o3.info..

로아다
'JAVA' 카테고리의 글 목록 (9 Page)