[java] 자바 Inner 클래스, Nested 클래스, Local 클래스 그리고 Anonymous 클래스 에 대한 이해

Inner 클래스와 Outer 클래스 – 다른 클래스 내부에 삽입된 클래스 – 외부 클래스를 Outer 클래스 내부 클래스를 Inner 클래스라고 한다. – Outer 클래스의 인스턴스가 생성된 후에 Inner 클래스의 인스턴스 생성이 가능하다. – Outer 클래스의 인스턴스를 기반으로 Inner 클래스의 인스턴스가 생성된다. public class Test{ public static void main(String[] args) { Outer o1 = new Outer(“o1”); Outer … 더 읽기

[java] 자바 abstract(추상)클래스와 interface(인터페이스)에 대한 이해

abstract(추상) 클래스 – 하나 이상의 abstract 메소드(미완성 메소드)를 가진 클래스 – 인스턴스 생성을 불가 (컴파일 에러) – 참조변수 생성과 오버라이딩이 가능 public class Test { public static void main(String[] args) { // AA aa = new AA(); // 컴파일 에러 AA aa = new BB(); aa.aa(); } } abstract class AA{ abstract void aa(); } … 더 읽기

[java] 자바의 메소드(Method) 오버로딩(Overloading)과 String클래스

메소드 오버로딩 – 동일한 이름의 메소드를 둘 이상 동시에 정의하는 것 – 매개변수의 개수 또는 자료형이 다르면 오버로딩이 가능하다 – 호출시 매개변수에 따라 구분된다. 생성자와 오버로딩 – 생성자도 오버로딩이 가능하다. – this 키워드를 사용하여 생성자 내에서 다른생성자의 호출이 가능하다. public class Test { Test(String str, int i){ System.out.println(str); } Test(String str){ this(str, 1); // this … 더 읽기

[java] 자바 static 변수의 접근방법과 초기화 시점

static 변수 – 인스턴스 생성과는 무관하게 초기화 되는 변수 – static 변수가 속한 클래스의 인스턴스가 여러번 생성되어도 static 변수는 하나만 존재 – public 으로 선언되면 어디서든 접근가능 아래 코드를 실행하면 num의 값이 공유되고 있음을 알 수 있다. public class AAA { public static void main(String[] args){ BBB b1=new BBB(); BBB b2=new BBB(); BBB b3=new BBB(); … 더 읽기

[java] 자바 The public type [class name] must be defined in its own file 오류 원인

The public type [class name] must be defined in its own file 이 에러는 하나의 파일안에는 오직 해당 파일명으로 정의된 클래스에만 public을 선언할 수 있다는 말이다. 그 이외의 클래스에는 public을 붙일 수 없다. 아래 코드와 같이 public 를 삭제하면 에러가 사라진다. public class EX11 { // 파일명과 같은 클래스 /** * @param args */ public … 더 읽기

[java] 자바 접근제어 지시자

지시자 클래스 내부 동일 패키지 상속받은 클래스 이외의 영역 private O X X X default O O X X protected O O O X public O O O O public > protected > default > private 디폴트 생성자 : 디폴트 생성자의 접근제어 지시자는 클래스의 선언형태에 따라서 결정된다. 즉 아래 그림의 형태로 자동삽입 된다. public 클래스 … 더 읽기

[java] 자바의 클래스, 메소드, 변수, 상수의 이름규칙

클래스 ex) Car, MyCar – 대문자로 시작 Car – 둘이상의 단어일때 새단어는 대문자로 시작 MyCar 메소드 ex) getName – 소문자로 시작 – 둘이상의 단어일때 새단어는 대문자로 시작 변수 ex) name, myName – 소문자로 시작 – 둘이상의 단어일때 새단어는 대문자로 시작 상수 ex) MY_AGE – 모두 대문자로 표현 -둘이상의 단어일때 언더바 _ 로 구분 class MyClass{ … 더 읽기