목록Java (117)
hyeonga_code
- 클래스 멤버 - 멤버 필드 - 생성자 - 멤버 메소드 - 중첩 클래스 5. 중첩 클래스 - 클래스 내에 클래스가 존재 - 일반 중첩 클래스 - 클래스 내에 클래스를 생성 Outer$Inner - 객체 생성 후 메모리가 로딩됨 - 외부 클래스가 객체를 생성해야 함 - 외부 클래스에서는 내부에 중첩된 클래스의 객체에 접근할 수 없음 ===== 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 class Outer { private int a; private static int b; //멤버필드 sta..
- 클래스 - final - 상속이나 익명 중첩 클래스에서 메소드 오버라이드를 할 수 없게 하는 기능 - static final - 잘 사용되는 기능은 아님 - static 기능과 final 기능을 합친 기능 - synchronized - 동기화_멀티스레드 - abstract - 추상화 메소드 - native - 다른 언어_C++에서 만든 기능을 가져와 사용하고자 할 때 - final 클래스 - 상속 할 수 없는 클래스 ===== 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 final class A07{ int a; int b; public A07() { a = 10; b = 20; } } class B07 exte..
-------------------- 클래스 선언 ---------------------- - 지정 예약어 - class 명 - extends 상위 클래스 - implements 상위 인터페이스 ------------------------------------------------------------------------------------------------------------- package '패키지 명'; import '패키지 명'; + () 생략 가능 ('접근 제한자') ('지정 예약어') class '클래스 명' (extends '상위 클래스') (implements '상위 인터페이스'){ '접근 제한자' '지정 예약어' '자료형' '멤버 필드(변수명)'; // 변수(선언부) '접근 제한..
- 객제 지향 언어의 속성 - 은닉화/캡슐화 - 멤버를 숨김 - private 선언 - 간접적으로 접근 가능 - setter 메소드 public void setName(String name) { // 이름이 중복되었는지 확인 후 수정 기능 가능 this.name = name; } - getter 메소드 public String getName() { return name; } - 상속성 - 다형성 - 추상화 - getter와 setter를 사용하여 성적 순위 출력 ===== 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47..
- 접근 제한자 : - public : universe - 외부 클래스가 자유롭게 사용할 수 있습니다. - 다른 패키지에서도 접근이 가능합니다. - protected : sub class - 같은 패키지 또는 하위 클래스에서 사용할 수 있습니다. - private : same class - 외부에서 사용할 수 없습니다. - 같은 클래스 내에서만 접근이 가능합니다. - default : same package - 따로 명시하지 않는 경우 자동으로 설정됩니다. - 같은 패키지에 소속된 클래스에서만 사용할 수 있습니다. - 강화 순서 public
- this - Heap 공간에 생성된 각각의 객체 자신을 의미합니다. - 클래스 내의 멤버를 지정합니다. - 누구나 다 알 수 있는 곳은 생략이 가능합니다. - 현재 객체를 지칭하는 참조변수입니다. - 객체를 생성할 때에 자동으로 제공됩니다. - 클래스는 객체 명을 모릅니다. - 멤버 변수 이름과 매개 변수 이름이 동일한 경우 멤버 변수를 지칭하는 목적으로 사용합니다. this.'멤버 변수 이름' = '매개 변수 이름'; - 생성자를 중복해서 정의하는 경우 생성자 내부에서 해당 객체의 다른 생성자를 먼저 호출하여 수행해야 하는 경우에 사용합니다. - 생성자의 첫 번째 수행문에서 호출합니다. - this(데이터, 데이터) ===== 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1..
- 생성자 - 멤버 변수를 초기화할 때 호출되는 메소드입니다. - 생성자의 이름은 클래스의 이름과 동일하게 작성합니다. - 초기화만 진행하기 때문에 반환값이 없습니다. - 매개 변수의 이름은 자유롭게 작성해도 되지만 멤버 변수의 이름과 동일하게 작성합니다. - 오버로딩이 가능합니다. - Overloading_오버로딩 ***** - 하나의 클래스에 같은 이름의 메소드를 여러 개 정의하는 것 - 조건 - 메소드의 이름이 같아야 합니다. - 매개 변수의 개수 또는 타입이 달라야 합니다. - 리턴 타입은 오버로딩을 구현하는 데에 아무런 영향을 주지 못합니다. 2. 생성자 - 클래스 이름과 동일한 메소드 - 반환형이 없음 (void 포함) - 멤버 필드의 초기값을 주기 위해 선언 - 생성자를 구현하지 않을 경우 ..
- Method/Class Area - 메소드가 실행되면 클래스 정보가 저장됩니다. - 저장된 클래스 정보를 분류하여 메소드 데이터를 저장합니다. - 메소드 데이터를 구분하여 멤버 변수의 데이터 값만 Heap 공간에 저장합니다. - 메소드를 호출할 때마다 Method Area에 저장된 메소드 정보를 거쳐 Heap/Stack에서 값을 가져옵니다. - 데이터 값은 각 객체의 this가 관리합니다. - 공통된 메소드/객체의 정보는 Method Area에 저장됩니다. - 각각의 메소드 정보는 모든 객체가 공유합니다. - 프로그램이 종료되는 시점에 메소드 정보는 삭제됩니다. - 모든 인트턴스 객체가 공유해야하는 변수값을 보관합니다. - static을 사용하여 Method Area 공간에 데이터를 저장할 수 있습니..
-- 멤버 메소드 접근자 지정어 결과형return 값 method이름 (매개 변수) { 정의부 }; - 지정어 - static - final - native_외부 언어를 Java에 넣기 위해 JNI_Java Native Interface - synchronized_생략 가능 - thread 관련 - 동기화 -- 메소드 접근제한자 반환형 메소드이름 (매개변수){ 정의부 }; '메소드' '변수' = new '메소드'; - Stack 메모리에 '변수'를 저장합니다. - Heap 메모리에 '메소드'의 정보를 저장합니다. - '변수'에 저장한 '메소드'의 주소를 저장합니다. - static으로 선언된 변수는 Static 메모리에 저장됩니다. - Stack 메모리에서 Static 메모리에 저장된 데이터를 사용할 수..
- 멤버 변수 접근 제한 - Getter/Setter 메소드 - 멤버 변수를 보호하기 위해 사용합니다. - private 으로 선언한 변수에도 접근할 수 있습니다. - setter 메소드 public void setName(String name) { // 이름이 중복되었는지 확인 후 수정 기능 가능 this.name = name; } - getter 메소드 public String getName() { return name; } 'Student.java' ''' private int grade; // 클래스 외부에서 접근이 불가능합니다. ''' ===== 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ..