[JAVA] 객체지향 - fianl 키워드
·
JAVA
final final 키워드가 붙은 개체는 한 번 할당 된 후 (초기화 후) 변경할 수 없다. ① final 변수 해당 변수가 생성자나 대입연산자를 통해 한 번만 초기화 가능함 final String a = "안녕"; // final 을 통해 값을 초기화 시켜 주었다면 a = "잘가" // 값 변경은 할 수 없다. 이 문장은 컴파일 에러가 생긴다!!!! ② final arguments (인자) : 인자를 선언할 때 final 키워드를 사용할 수 있다. → final로 선언된 인자는 메소드 내에서 변경이 불가능 class finalTest { public void test(final int number) { // final int number를 인자가 값으로 받겠다. System.out.println(nu..
[JAVA] 객체지향 - 초기화 블록
·
JAVA
초기화 블록(initialization block) : 클래스 필드의 초기화만을 담당하는 중괄호 { }로 둘러싸인 블록을 의미한다. 초기화 블록은 생성자보다 먼저 호출되고, static 키워드의 유무에 따라 두개로 나뉜다. ▶인스턴스 초기화 블록 : 중괄호{ }만을 사용하여 정의 ▶클래스 초기화 블록 : 인스턴스 초기화 블록에 static 키워드를 추가하여 정의 class test { int a; static int b; //일반 초기화 블록 { a = 10; } // static 초기화 블록 static { b = 20; } } 1. 멤버변수 기본 값 자동 할당 → 기본값 : 숫자타입 ( 0 ) / 객체타입 ( null) / boolean (false) 2. 멤버..
[JAVA] 객체지향 - static
·
JAVA
static : static은 '고정된 ' 이라는 의미를 가지고 있으며 static 이라는 키워드를 사용한다. static변수(정적필드)와 static메서드(정적메서드)를 만들 수 있는데 이 둘을 합쳐 클래스 멤버 (정적멤버) 라고 한다. 정적 필드와 정적 메서드는 객체(인스턴스)에 소속된 멤버가 아니라 클래스에 고정된 멤버이다. 따라, 다른 변수와 메서드는 선언을 해야 사용 가능한 것과 반대로 static 은 바로 사용할 수 있다. Static 키워드를 통해 생성된 정적멤버들은 Heap영역이 아닌 Static영역에 할당된다. Static 영역에 할당된 메모리는 모든 객체가 공유하여 하나의 멤버를 어디서든지 참조할 수 있는 장점이 있다. 하지만, Garbage Collector의 관리 영역 밖에 존재하기..
[JAVA] 객체지향 - this, this( )
·
JAVA
this 참조 변수 : 인스턴스가 바로 자기 자신을 참조하는 데 사용하는 하는 변수. this 참조 변수는 해당 인스턴스의 주소를 가리키고 있다. 현재 객체의 참조값을 갖는 참조변수 주로 멤버변수와 지역 변수 이름이 같을 때, 멤버변수를 구분하기 위해서 사용한다. this 참조 변수를 사용할 수 있는 영역은 인스턴스 메서드만 가능! 클래스 메서드는 사용이 불가능! 모든 인스턴스 메서드에는 this 참조 변수가 숨겨진 지역 변수로 존재하고 있다. class Product2 { private int num; private int price; private int amount; private String name; public Product2() {}; // 아무것도 없는 생성자 만들어주고 public Pro..
해니01_15
'자바' 태그의 글 목록 (15 Page)