클래스와 메서드Java2022. 12. 4. 12:47
Table of Contents
728x90
728x90
클래스
- 객체를 정의(설계)하는 틀, 설계도라고 이해하면 쉬움
- ex) 붕어빵 기계로 붕어빵을 만들 때, 붕어빵 기계는 클래스 붕어빵은 객체
public class Animal {
public class Example{
Animal dog = new Animal();
}
}
Animal 클래스의 인스턴스 dog가 만들어졌다(Animal의 객체가 만들어졌다)
클래스에 의해 만들어진 객체 = 인스턴스
Animal cat = new Animal();
Animal dog = new Animal();
Animal horse = new Animal();
무수히 많은 객체를 Animal 클래스로 만들었다
public class Animal {
String name; // 객체변수
}
public class Example{
public static void main(String[] args) {
Animal dog = new Animal();
System.out.println(dog.name); // 변수 호출
}
}
객체변수 name을 생성했고 dog.name으로 변수에 접근했다
변수 name의값이 null이므로 null이 출력 될 것이다
메서드
- 클래스 내에 구현된 함수
- 변수에 값을 대입하는 가장 보편적인 방법은 메서드를 활용하는 것이다
public class Animal {
String name;
static int age = 3; // 정적 변수(클래스 변수)
void setName(String name) { // 메서드 생성
this.name=name;
}
}
public class Example{
public static void main(String[] args) {
Animal dog = new Animal();
Animal cat = new Animal();
dog.setName("해피"); // 메서드 호출
cat.setName("코코"); // 메서드 호출
System.out.println(dog.name + "는 " + age+"살");
System.out.println(cat.name);
}
}
결과값
해피는 3살
코코
dog라는 객체를 만들고, dog.setName("해피")를 입력하게 되면 this.name=name은 dog.name="해피"가 된다.
객체 변수는 공유되지 않는다 (dog.name="해피" / cat.name="코코")
static(정적 변수) : 인스턴스를 생성하지 않아도 접근이 가능하지만 모든 인스턴스가 정적 변수의 값을 공유한다
728x90
300x250
@mag1c :: 꾸준히 재밌게
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!