자바24 [Java] 내부(inner) 클래스 & 익명(Anonymous) 클래스 내부(inner) 클래스와 익명(anonymous) 클래스 내부(innter) 클래스 클래스 안에 또 다른 클래스를 선언하는 것으로 이렇게 하면 두 클래스의 멤버에 쉽게 접근할 수 있다 public class OuterClass{ int num = 10; String str1 = "java"; static String str11 = "world"; public OuterClass(){ System.out.println("OuterClass Constructor"); } class InnerClass{ int num = 100; String str2 = str1; public InnerClass() { System.out.println("InnerClass Constructor"); } } class SI.. 2020. 7. 3. [Java] 패키지와 static, 패키지 은닉 패키지와 static 패키지(package) 자바 프로그램은 많은 클래스로 구성되고, 이러한 클래스를 폴더 형식으로 효율적으로 관리하는 것을 패키지라고 한다 패키지 이름 결정 요령 패키지에 속해 있는 클래스가 최대한 다른 클래스와 중복되는 것을 방지하도록 만든다 일반적으로 도메인을 거꾸로 이용한다 Ex) com.java.hello, kr.co.회사이름 ... 개발 중에 패키지의 이름과 구조는 변경될 수 있다 패키지 이름만 보고도 해당 패키지 안에 있는 클래스가 어떤 속성과 기능을 가지고 있는지 예상이 될 수 있도록 이름을 만든다 import 클래스가 하나 package com.java.employee; import com.java.dailyJournal.DailyJournal; public class E.. 2020. 7. 2. [Java] 생성자와 소멸자 그리고 this 키워드 디폴트 생성자 객체가 생성될 때 가장 먼저 호출되는 생성자로, 만약 개발자가 명시하지 않아도 컴파일 시점에 자동 생성된다 Object obj = new Object(); // 다음과 같이 디폴트 생성자가 없는 경우 public class Object(){ } // 컴파일 시점에 컴파일러가 아래와 같이 생성자를 자동으로 생성한다 public Object(){ } 사용자 정의 생성자 디폴트 생성자 외에 특정 목적에 의해서 개발자가 만든 생성자로, 매개변수에 차이가 있다 사용자 정의 생성자를 하나라도 만들면 디폴트생성자는 사라진다 - 중요!!!!!! Object obj = new Object("John", 10); public Object(string name, int age){ str = name; i = .. 2020. 7. 2. [Java] 메서드, 오버로딩, 오버라이딩 메서드(Method) 선언과 호출 // 메서드 선언 public void getInfo(String who){ // public: 접근자 // void: 반환형 // getInfo: 메서드이름 // String who: 매개변수 // 메서드 정의 System.out.println("12"); } // 호출 ClassMate class1 = new ClassMate(); class1.getInfo("John"); 매개변수(Parameter) 메서드를 호출할 때 데이터를 전달할 수 있다 중복 메서드(Overloding) 이름은 같고, 매개변수의 개수 또는 타입이 다른 메서드를 만들 수 있다 메소드의 이름은 같고, 매개변수의 갯수, 타입, 순서는 달라야 한다 단, 리턴 값만 다른 경우 오버로딩을 할 수 없다 .. 2020. 7. 1. 이전 1 ··· 3 4 5 6 다음