본문 바로가기

Back-end/Java

(89)
[Java - 기본] final 변수와 상수2 ✅ 상수(Constant) 상수는 변하지 않고, 항상 일정한 값을 갖는 수를 말한다. 자바에서는 보통 단 하나만 존재하는 변하지 않는 고정된 값을 상수라 한다. 이런 이유로 상수는 static final 키워드를 사용한다. 📚 자바 상수 특징 static final 키워드를 사용한다. 대문자를 사용하고 구분은 _(언더스코어)로 한다. (관례) 일반적인 변수와 상수를 구분하기 위해 이렇게 한다. 필드를 직접 접근해서 사용한다. 상수는 기능이 아니라 고정된 값 자체를 사용하는 것이 목적이다. 상수는 값을 변경할 수 없다. 따라서 필드에 직접 접근해도 데이터가 변하는 문제가 발생하지 않는다. ✏️ Constant package final1; // 상수 public class Constant { // 수학 상수..
[Java - 기본] final 변수와 상수1 ✅ final final 키워드는 이름 그대로 끝이라는 뜻이다. 변수에 final 키워드가 붙으면 더는 값을 변경할 수 없다. ✅ final - 지역 변수 ✏️ FinalLocalMain package final1; public class FinalLocalMain { public static void main(String[] args) { // final 지역 변수1 final int data1; data1 = 10; // 최초 한번만 할당 가능 // data1 = 20; // 컴파일 오류 // final 지역 변수2 final int data2 = 10; // data2 = 20; // 컴파일 오류 method(10); } // final 매개변수 static void method(final int ..
[Java - 기본] Section7 - 문제와 풀이 ✅ 구매한 자동차 수 🔔 문제 설명 다음 코드를 참고해서 생성한 차량 수를 출력하는 프로그램을 작성하자. 🔔 요구 사항 Car 클래스를 작성하자. 📚 예시 코드 package static2.ex; public class CarMain { public static void main(String[] args) { Car car1 = new Car("K3"); Car car2 = new Car("G80"); Car car3 = new Car("Model Y"); Car.showTotalCars(); // 구매한 차량 수를 출력하는 static 메서드 } } 🖥️ 실행 결과 ✏️ 정답 package static2.ex; public class Car { private static int totalCars; pr..
[Java - 기본] static 메서드3 ✅ 용어 정리 📚 멤버 메서드의 종류 인스턴스 메서드 : static이 붙지 않은 멤버 메서드 클래스 메서드 : static이 붙은 멤버 메서드 클래스 메서드, 정적 메서드, static 메서드 등으로 불린다. static이 붙지 않은 멤버 메서드는 인스턴스를 생성해야 사용할 수 있고, 인스턴스에 소속되어 있다. 따라서 인스턴스 메서드라 한다. static이 붙은 멤버 메서드는 인스턴스와 무관하게 클래스에서 바로 접근할 수 있고, 클래스 자체에 소속되어 있다. 따라서 클래스 메서드라 한다. 📚 정적 메서드 활용 정적 메서드는 객체 생성이 필요 없이 메서드의 호출만으로 필요한 기능을 수행할 때 주로 사용한다. 예를 들어 간단한 메서드 하나로 끝나는 유틸리티성 메서드에 자주 사용한다. 예) 수학의 여러가지 ..
[Java - 기본] static 메서드2 ✅ 정적 메서드 정적 메서드는 객체 생성없이 클래스에 있는 메서드를 바로 호출할 수 있다. 하지만 정적 메서드를 언제나 사용할 수 있는 것은 아니다. 📚 정적 메서드 사용법 static 메서드는 static만 사용할 수 있다. 클래스 내부의 기능을 사용할 때, 정적 메서드는 static이 붙은 정적 메서드나 정적 변수만 사용할 수 있다. 클래스 내부의 기능을 사용할 때, 정적 메서드는 인스턴스 변수나, 인스턴스 메서드를 사용할 수 없다. 모든 곳에서 static을 호출할 수 있다. 정적 메서드는 공용 기능이다. 따라서 접근 제어자만 허락한다면 클래스를 통해 모든 곳에서 static을 호출할 수 있다. ✏️ DecoData package static2; public class DecoData { priva..
[Java - 기본] static 메서드1 ✅ 인스턴스 메서드 ✏️ DecoUtil1 package static2; public class DecoUtil1 { public String deco(String str) { String result = "*" + str + "*"; return result; } } deco()는 문자열을 꾸미는 기능을 제공한다. 문자열이 들어오면 앞 뒤에 *을 붙여서 반환한다. ✏️ DecoMain1 package static2; public class DecoMain1 { public static void main(String[] args) { String s = "hello java"; DecoUtil1 utils = new DecoUtil1(); String deco = utils.deco(s); System...
[Java - 기본] static 변수3 ✅ 용어 정리 public class Data3 { public String name; // 인스턴스 변수 public static int count; // 클래스 변수 (정적 변수, static 변수) } 예제 코드에서 name, count는 멤버 변수이다. 멤버 변수(필드)는 static이 붙은 것과 아닌 것에 따라 다음과 같이 분류할 수 있다. 📚 멤버 변수(필드)의 종류 인스턴스 변수 : static이 붙지 않은 멤버 변수, 예) name static이 붙지 않은 멤버 변수는 인스턴스를 생성해야 사용할 수 있고, 인스턴스에 소속되어 있다. 따라서 인스턴스 변수라 한다. 인스턴스 변수는 인스턴스를 만들 때 마다 새로 만들어진다. 클래스 변수 : static이 붙은 멤버 변수, 예) count 클래스..
[Java - 기본] static 변수2 ✅ static 변수 사용 특정 클래스에서 공용으로 함께 사용할 수 있는 변수를 만들 수 있다면 편리할 것이다. static 키워드를 사용하면 공용으로 함께 사용하는 변수를 만들 수 있다. ✏️ Data3 package static1; public class Data3 { public String name; public static int count; // static public Data3(String name) { this.name = name; count++; } } static int count 부분을 보면 변수 타입(int) 앞에 static 키워드가 붙어있다. 멤버 변수에 static을 붙이게 되면 static 변수, 정적 변수 또는 클래스 변수라 한다. 객체가 생성되면 생성자에서 정적 변수 ..