[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..
[JAVA] 객체지향 - 메서드 오버로딩
·
JAVA
③메서드 오버로딩 : 같은 이름의 메서드를 중복하여 정의하는 것. 자바에서는 원래 한 클래스 내에 같은 이름의 메서드를 가질 수 없지만, 매개변수의 개수나 타입을 다르게 하면, 하나의 이름으로 메서드를 작성 가능. 즉, 메서드 오버로딩은 서로 다른 시그니처를 갖는 여러 메소드를 같은 이름으로 정의하는 것. 메서드 오버로딩의 장점 ⓘ 메소드에 사용되는 이름을 절약. ② 메소드를 호출할 때 전달 할 매개변수의 타입이나 개수에 상관 없이 사용 가능. ③ 다형성(polymorphism)을 구현하는 방법 중 하나. class overtest { int add(int a, int b) { System.out.println("add int"); return a + b; } String add(String a, Str..
[JAVA] 객체지향 - 생성자
·
JAVA
생성자 : 객체 초기화 함수로 객체의 생성 시에만 호출되어 메모리 생성과 동시에 객체의 데이터를 초기화하는 역할을 한다. class member2 { String name, tel, address ; member2() { System.out.println("생성자"); name = "aaa"; tel = "323424"; address = "대한민국"; } void print() { System.out.println("이름 : " + name); System.out.println("전화번호 : " + tel); System.out.println("주소 : " + address); } } public class 생성자 { public static void main(String[] args) { // TOD..
[JAVA] 객체지향 - 클래스 (class)
·
JAVA
클래스 (class) : 객체를 정의하는 틀 또는 설계도. → 설계도인 클래스를 가지고, 객체를 생성하여 사용하게 된다. 클래스는 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성. 필드(field) : 클래스에 포함된 변수(variable)들을 정의 한 곳 메소드(method) : 어떠한 특정 작업을 수행하기 위한 명령문의 집합. 1) 단순한 클래스 생성 //보통 클래스는 메인 클래스 밖에 작성한다. class person { //타입명 : person int age; String name; // 나이와 이름을 담을 수 있다. } public class 클래스생성 { //Public 클래스 이름이 자바 파일의 이름과 동일해야한다 public static vo..
해니01_15
코딩구르르르