본문 바로가기

전체 보기81

[JAVA] 오버로딩(메서드 오버로딩, 생성자 오버로딩) 오버로딩 생성자나 메서드의 이름을 재사용하기 위하여 도입된 기능 메서드 오버로딩 정의 클래스 내의 메서드의 이름을 재사용할 수 있음 같은 이름의 메서드를 여러 개 사용하는 것을 메서드 오버로딩이라고 함 메서드 오버로딩의 규칙 메서드의 이름은 같지만 반드시 매개변수의 타입, 개수, 순서를 다르게 하여 사용 리턴 타입만 다르면, 같은 메서드로 인식함 두 개의 메서드의 이름이 같은데 리턴 타입만 다르다면 같은 메서드로 인식 생성자 오버로딩 정의 클래스 이름을 재사용해서 여러 개의 생성자를 만드는 것을 생성자 오버로딩이라고 함 생성자 오버로딩 시 규칙 생성자의 이름은 같고(클래스명과 동일) 매개변수의 타입, 개수, 순서는 다르게 하여 사용 매개변수의 이름이 다르더라도, 매개변수의 타입이 같으면 같은 생성자로 인식 2024. 4. 18.
[JAVA] 생성자(기본 생성자, 매개변수 있는 생성자, 주의할 점) 클래스의 구성요소 1. 멤버변수(필드) 2. 메서드 3. 생성자 생성자 역할 생성자가 최초로 호출이 되면서, 클래스 인스턴스를 생성하는 역할 클래스 인스턴스를 생성하면서 heqp 영역에 할당이 되고, 멤버변수를 초기화함 특징 생성자는 클래스의 인스턴스 생성 시에 최초로 사용이 됨 인스턴스 생성 시에 new 클래스명() 코드를 사용하는데, 이것이 생성자(기본 생성자) 즉, Student( )가 Student 클래스의 생성자 // 생성자 호출 Student s = new Student(); 인스턴스를 메모리에 생성(객체 생성)하려면 생성자를 호출해야 함 생성자의 이름은 반드시 클래스명과 동일해야 함 생성자 형식 [접근 제한자] 클래스명( [매개변수] ) { 멤버변수 초기화 코드 //멤버변수에 값을 지정하는 .. 2024. 4. 18.
[JAVA] 클래스, 객체, 인스턴스(인스턴스 생성 및 사용) 클래스, 객체, 인스턴스의 정의 클래스(Class) 객체를 생성하기 위한 설계도의 역할을 함 클래스는 프로그램에서 사용할 객체의 틀을 정의하는데 클래스에는 객체의 속성(필드 = 멤버변수), 행위(메서드)로 구성되어 있음 자바 실행 시에, 클래스는 JVM 메모리의 클래스 영역(Class Area)에 로드 객체(Object)속성(멤버변수)과 행위(메서드)를 가지는 실체객체는 클래스의 인스턴스(Instance) 인스턴스(Instance) 클래스에 정의된 내용대로 객체가 메모리(heap 영역)에 생성된 상태 클래스를 기반으로 생성된 객체 클래스를 기반으로 생성된 각각의 인스턴스는 속성과 행위를 가짐 객체와 인스턴스 : 용어를 혼용하여 사용 클래스 1. 클래스 정의하여 사용하기객체를 만들어서 사용하기 위해서는 제.. 2024. 4. 17.
[JAVA] instance 메서드, static 메서드 인스턴스 메서드(Instance Method) 정의 객체를 생성해야 사용할 수 있는 메서드 즉, 이 메서드를 호출하기 위해서는 메서드가 정의되어 있는 클래스로 객체를 생성해야 함 메모리 할당 인스턴스 메서드는 컴파일 과정에서 MetaSpace 메모리 영역에 담김 메서드 내의 지역 변수, 파라미터, 반환 값은 stack 메모리 영역에 할당 특징 인스턴스 변수(iv)와 관련된 작업을 함 즉, 메서드가 작업을 수행하는데 인스턴스 변수를 사용함 인스턴스 메서드를 사용할 때는, 클래스로 객체를 생성하고 그 객체를 통해서만 호출이 가능 (예) [Multiply] 라는 이름의 클래스에 선언된 인스턴스 메서드[add()]를 사용할 때 Multiply mm = new Multiply( ); → 클래스로 객체 생성(new.. 2024. 4. 17.
[JAVA] 메서드(리턴 타입의 유무, 매개변수 유무), 지역변수 리턴 타입이 없는 메서드(void) 정의 리턴 타입이 없다는 뜻은 메서드를 수행한 후에 결과값을 호출한 곳으로 돌려주지 않는다는 의미 형식 리턴 타입이 없는 메서드를 만들 때 void를 사용 메서드 내부에서 return 코드도 사용하지 않음 예시 public void print() { System.out.println("return값이 없는 메서드를 호출합니다."); } ① void 메서드 종료 시에 호출한 곳으로 반환해야 하는 값이 없음 반환 값이 없는 경우 사용 ② print( ) : 매개변수가 없으므로, 호출 시에 어떤 인자 값도 메서드로 전달하지 않음 ③ public : 모든 위치에서 호출이 가능 ④ return이 없음 리턴 타입이 있는 메서드 정의 메서드를 수행한 후의 결과값을 이용하여 추가적인.. 2024. 4. 17.
[JAVA] 메서드의 return문(형식, 특징, 주의할 점) return문 정의 호출된 메서드를 강제로 종료하고, 호출한 곳으로 복귀하는 경우 사용 형식 return 2 // 형식: return 값 특징 메서드 수행을 강제로 종료한 후, 호출한 곳으로 복귀 return 다음에 값을 지정하면, 호출한 곳으로 값을 리턴 대개, 메서드를 수행한 후에 얻은 값을 사용해야 하는 경우에 return문을 사용하여 호출한 곳으로 값을 리턴하고, 이것을 변수에 담아서 사용함 리턴 값은 메서드 선언부의 리턴 타입과 반드시 일치할 것 static int multiply(int a, int b) { // 메서드 선언부의 리턴 타입(int) return 3; // 가능: int타입인 3은 가능 return 3.3333; // 불가능: 실수형인 3.33d은 리턴타입(int)와 맞지 않음 .. 2024. 4. 17.