Java(37)
-
[TIL][Java][2023-12-21] 인스턴스 멤버와 클래스 멤버
멤버 멤버 = 필드 + 메서드 인스턴스 멤버 = 인스턴스 필드 + 인스턴스 메서드 클래스 멤버 = 클래스 필드 + 클래스 메서드 인스턴스 멤버 & 클래스 멤버 필드와 메서드는 선언하는 방법에 따라서 인스턴스 멤버와 클래스 멤버로 구분할 수 있다. 인스턴스 멤버는 객체 생성 후에 사용할 수 있고 클래스 멤버는 객체 생성 없이도 사용할 수 있다. 인스턴스 멤버 인스턴스 멤버는 객체를 생성해야 사용할 수 있다. 객체의 인스턴스 필드는 각각의 인스턴스마다 고유하게 값을 가질 수 있다. 메서드는 메서드 영역에 두고 모든 인스턴스들이 공유해서 사용 - 메모리 효율이 매우 떨어지기 때문이다. 대신 인스턴스를 통해서만 메서드가 사용될 수 있도록 제한 클래스 멤버 클래스는 Java의 클래스 로더에 의해 메서드 영역에 저..
2023.12.21 -
[TIL][Java][2023-12-20] 기본형 매개변수, 참조형 매개변수
기본형 매개변수 메서드를 호출할 때 전달할 매개값으로 지정한 값을 메서드의 매개변수에 복사해서 전달한다. 매개변수의 타입이 기본형일 때는 값 자체가 복사되어 넘어가기 때문에 매개값으로 지정된 변수의 원본값이 변경되지 않는다. 참조형 매개변수 메서드를 호출할 때 전달할 매개값으로 지정된 값의 '주소'를 매개변수에 복사해서 전달한다. 매개변수를 참조형으로 선언하면 값이 저장된 곳의 원본 주소를 알 수 있기 때문에 값을 읽어오는 것과 변경하는 것이 가능하다. 메서드의 매개변수뿐만 아니라 반환타입도 참조형이 될 수 있다. // 자동차 클래스 public class Car { String company; // 자동차 회사 String model; // 자동차 모델 String color; // 자동차 색상 dou..
2023.12.20 -
[TIL][Java][2023-12-19] 오버로딩
오버로딩 오버로딩은 하나의 메서드 이름으로 여러 기능을 구현하도록 하는 Java의 기능이다. 한 클래스 내에 같은 이름을 가진 메서드가 있더라도, 매개변수의 개수 또는 타입, 순서가 다르면 동일한 이름을 사용해서 메서드를 정의할 수 있다. 오버로딩의 조건 메서드의 이름이 같고 매개변수의 개수, 타입, 순서가 달라야 한다. 응답 값만 다른 것은 오버로딩을 할 수 없다. 접근제어자만 다른 것도 오버로딩을 할 수 없다. 오버로딩은 매개변수의 차이로만 구현할 수 있다. 오버로딩의 장점 메서드 이름 하나로 상황에 따른 동작을 개별로 정의할 수 있다. ex. pirntln() : println()의 매개변수로는 int, double, String, boolean 등 다양하게 넣을 수 있다. 메서드의 이름을 절약할 ..
2023.12.19 -
[TIL][Java][2023-12-18] 객체 - 객체의 행위: 메서드
메서드 메서드는 객체의 행위를 뜻하며 객체간의 협력을 위해 사용된다. 클래스 내에서 특정 작업을 수행하는 함수이다. 객체가 수행하는 동작이나 기능을 정의하는데 사용한다. 메서드 선언 리턴타입 메서드명 (매개변수) { 실행할 코드 작성 } 리턴타입 메서드가 실행된 후 값을 반환할 때 해당 값의 타입 주의할 점: 메서드에 리턴타입을 선언하여 반환할 값이 있다면 반드시 return문으로 해당하는 리턴타입의 반환값을 지정해야 한다. 반환할 값이 없을 때는 리턴타입에 void를 작성한다. 반환값이 없으므로 return문을 반드시 지정할 필요는 없다. 매개변수 메서드를 호출할 때 메서드로 전달하려는 값을 받기 위해 사용되는 변수 전달하려는 값이 없다면 생략 가능하다. 가변길이의 매개변수도 선언할 수 있다. 메서드 ..
2023.12.18 -
[TIL][Java][2023-12-15] 객체 - 객체의 속성: 필드
필드 클래스 내에서 객체의 상태를 나타내는 변수 클래스 안에 선언된 변수들이 객체의 속성이다. 필드의 초기값과 초기화 필드들은 기본적으로 초기값을 제공하지 않을 경우 객체가 생성될 때 자동으로 기본값으로 초기화된다. 초기값을 제공하는 방법: 필드타입 필드명 = 값; 필드 타입별 기본값 데이터 타입 기본값 byte 0 char \u0000 (공백) short 0 int 0 long 0L float 0.0F double 0.0 boolean false 배열 null 클래스 null 인터페이스 null 필드 사용방법 필드를 사용한다는 것은 필드의 값을 변경하거나 읽는 것을 의미한다. 클래스에 필드를 정의하여 선언했다고 바로 사용할 수 있는 것은 아니다. 클래스는 설계도일 뿐 실제로 필드의 데이터를 가지고 있는..
2023.12.15 -
[TIL][Java][2023-12-13] 객체 - 객체 생성과 참조형 변수
객체 생성 new Car(); // Car클래스 객체 생성 객체 생성 연산자인 'new'를 사용하면 클래스로부터 객체를 생성할 수 있다. new 연산자 뒤에는 해당 클래스의 생성자 호출 코드를 작성한다. 형태가 기본 생성자의 형태와 같으면 new 연산자에 의해 객체가 생성되면서 기본 생성자가 호출된다. 참조형 변수 Car car1 = new Car(); // Car클래스의 객체인 car1 인스턴스 생성 Car car2 = new Car(); // Car클래스의 객체인 car2 인스턴스 생성 new 연산자를 통해 객체가 생성되면 해당 인스턴스의 주소가 반환되기 때문에 해당 클래스의 참조형 변수를 사용하여 받아줄 수 있다. 객체를 가리키는 변수를 말한다. 실제 데이터가 저장된 메모리 위치를 가리킨다. 이런 ..
2023.12.13