-
.dot 사용: 1. 객체의 멤버에 접근할 때 2. 클래스의 정적(static) 멤버에 접근할 때JAVA/궁금증 2024. 9. 15. 09:04
dot을 사용하는 경우가 다른것도 있지만 일단 2가지만 알아보자면,
1. 객체의 멤버에 접근할 때
객체가 생성된 후, 해당 객체의 필드(변수)나 메서드(함수)에 접근하기 위해.
public class Person { public String name; public void sayHello() { System.out.println("Hello, my name is " + name); } } public class Main { public static void main(String[] args) { Person person = new Person(); // 객체 생성 person.name = "Alice"; // 필드에 접근하여 값 설정 person.sayHello(); // 메서드 호출 } }
- Person 클래스의 name 변수를 사용하기 위해서는 Person 클래스의 인스턴스인 person 참조변수를 통해 name 변수에 접근해야함(자바에서 객체는 값이 아닌 메모리 주소로 관리된다. 객체를 직접 사용하지 않고 참조 변수를 통해 객체에 접근하는 구조다.)
- Person person = new Person();
- Person 클래스의 인스턴스(객체)를 생성하고, 그 객체의 참조를 person 변수에 저장
- 이제 person은 Person 클래스의 객체를 참조하는 변수(참조변수)
- person.name
- person 변수는 Person 클래스의 인스턴스를 가리킴
- .(dot) 연산자를 사용하여, person 객체의 name 필드에 접근가능
- 즉, person.name = "Alice";는 person 객체의 name 필드에 "Alice" 값을 저장한다는 걸 의미
2. 클래스의 정적(static) 멤버에 접근할 때
static 키워드로 선언된 필드나 메서드는 클래스에 속하며, 클래스 이름을 통해 직접 접근할 수 있다.
public class MathUtil { public static int add(int a, int b) { return a + b; } } public class Main { public static void main(String[] args) { int result = MathUtil.add(5, 10); // 정적 메서드 호출 System.out.println(result); // 출력: 15 } }
'JAVA > 궁금증' 카테고리의 다른 글
왜 static 메서드는 오버라이딩 될 수 없을까? (0) 2024.10.02 객체의 생성과 참조 (0) 2024.09.15 생성자 다시 기본 정리(do it! 자바) (0) 2024.09.15 인스턴스 객체화하는 이유 (0) 2024.09.01 생성자는 클래스 당 몇 개 만들 수 있을까? (0) 2024.08.25