클래스 내가 만들려는 프로그램의 등장인물 혹은 사물 ⬇️ 자세한 클래스 설명 [Java] 객체 지향 프로그래밍 2, 클래스와 객체 ⬇️ 객체 지향 프로그래밍 1편 보러가기 [Java] 객체 지향 프로그래밍 1, 객체 이 포스팅은 데스크탑에 최적화되어 있어, 데스크탑으로 보는 것을 권장합니다. 객체 지향 프로그래밍 객체를 중심 skylarcoding.tistory.com Value Object (VO) 값을 저장하는 객체. 객체 하나의 데이터들을 담는 클래스이다. 데이터와 동일한 타입으로 멤버변수 작성 생성자 자동으로 추가 toString() 생성 ⬇️ 더 많은 value object [Java] 객체 지향 프로그래밍 2, 클래스와 객체 ⬇️ 객체 지향 프로그래밍 1편 보러가기 [Java] 객체 지향 프로..
final final 변수 final 변수는 상수이다. 초기에 할당받은 값만 사용이 가능하고 값의 변경이 불가능하다. 상수는 선언 시 초기화 해야한다. final 메서드 오버라이딩(상속받은 메서드를 고쳐쓰는 것/재정의)이 불가능하다 final 클래스 상속이 불가능하다. Setter 함수를 통한 변경은 가능하다.
static 클래스를 만들고 객체를 생성하면 객체마다 객체변수를 저장하기 위한 메모리가 별도로 할당된다. ➡️ 데이터 메모리의 정의 하지만 객체의 값이 변하지 않는 경우라면 static 변수를 이용해 이를 고정시킨다. static 멤버는 static 메모리에 저장된다. 즉, 모든 객체가 하나의 static 메모리를 공용으로 사용한다. 이는 프로그램 시작 시 만들어지며, 0으로 자동 초기화된다. (같은 메모리 안에 객체 여러개 생성) static 은 클래스 소속이기 때문에 "클래스.메서드()"로 호출한다. class StaticTest { static int test; } Main { test.a = 10; } 객체 생성없이 사용이 가능하다. static 변수를 사용하는 이유는, 객체의 값이 변하지 않는 ..
메소드 오버로딩 - 동일한 이름의 메소드를 여러개 만드는 것. 파라메터의 개수나 타입을 다르게 해줘야 한다. 즉, 서로 다른 파라메터와 타입을 갖는 여러 메소드를 같은 이름을 정의하는 것이다. 리턴(반환) 타입과는 상관없다. 메소드의 파라메터와 타입 둘 중 하나라도 다른 경우에는 오버로딩이 성립하지 않는다. int add(int a, int b) { System.out.println("add int"); return a + b; } String add(String a, String b) { System.out.println("add String"); return a + b; } float add(float a, float b) { System.out.println("add float"); return a..
this 참조 변수 this 참조 변수는 같은 이름을 사용할 때 자기 자신을 구분하기 위해 사용하는 변수이다. 즉, 멤버변수와 지역변수를 구별하기 위해 멤버변수에 this 를 붙여 구별하는 것이다. this.name : 멤버변수 class Member{ String name; int num; Member (String name, int num){ this.name = name; this.num = num; }
1. 생성자 - 객체 (멤버변수) 초기화 메서드 클래스를 이용해 객체를 생성하면 해당 객체는 메모리에 즉시 생성되지만, 이렇게 생성된 객체는 모든 인스턴스 변수가 초기화되지 않은 상태이다. 자바에서 변수를 원하는 값으로 초기화하기 위해 생성자 (constructor) 메소드를 사용한다. 생성자는 값을 넣기 전 객체에 기본으로 값을 설정하고 싶을 때 사용한다. - 이름은 클래스와 동일하고 반환타입이 없다. - 생성자는 작성하지 않아도 컴파일러가 자동으로 생성해주지만, 생성자를 하나라도 작성하면 자동 생성이 안된다. - 생성자는 마음대로 호출할 수 없고 객체 생성시에만 호출이 가능하다. - 하나의 클래스가 여러 생성자를 가질 수 있다. 생성자 선언 방법 1. 매개변수(파라메터)가 없는 생성자 선언 클래스 이..