일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- github
- 영어
- 2630번
- 입이 트이는 영어
- 권주현의 진짜 영국 영어
- 파이썬
- EBS어학당
- caniuse
- 1057번
- python
- BinaryGap
- 프로그래머스
- programmers
- 18406번
- 알고리즘
- 1992번
- 신규아이디추천
- SecurityFilterChain
- 9251번
- Spring Security
- 1759번
- codility
- 11727번
- 백준
- WebSecurityConfigurerAdapter
- 2163번
- 분할정복
- 11047번
- 1793번
- Java
Archives
- Today
- Total
철갑이의 이모저모
[java] 클래스와 객체 본문
728x90
객체 : 소프트웨어 세계에 구현할 대상. 구체적, 추상척 데이터 단위
클래스 : 객체에 대한 속성과 기능을 코드로 구현한 것
인스턴스 : 클래스가 메모리에 생성된 상태
즉, 학생 이라는 추상적인 개념을 클래스, 어떤 학생인지 만들어낸게 인스턴스(객체) 라고 생각하면 됨 이 과정을 인스턴스화 라고 한다.
클래스 정의 방법
(접근 제어자) class 클래스 이름{
멤버변수;
메서드;
}
클래스 생성 방법
- 클래스를 사용하기 위해서는 클래스를 생성해야 함. new 예약어를 이용
클래스형 변수이름 = new 생성자;
//class 예제
//student.java
public class Student { //클래스 정의
int studentID;
String studentName;
int grade;
String address;
public void showStudentInfo() {
System.out.println(studentName+","+address);
}
}
//example.java
public class example {
public static void main(String[] args) {
Student studentLee = new Student(); //클래스 생성
studentLee.studentName = "햄스터";
studentLee.address = "서울시 서초구 서초동";
studentLee.showStudentInfo();
}
}
메서드 : 객체의 기능을 제공하기 위해 클래스 내부에 구현되는 함수
함수 : 하나의 기능을 수행하는 일련의 코드, 중복되는 기능은 함수로 구현하고 함수를 호출하여 사용한다.
//함수 구현 예제
public class function {
public static void main(String[] args) {
int num1 = 10;
int num2 = 30;
int sum = addNum(num1,num2); //함수 호출
System.out.println(sum);
}
public static int addNum(int n1, int n2) { //함수 addNum 선언
int result = n1+n2;
return result; //반환값이 없는 경우 int -> void 로 정의
}
}
함수가 호출될 때는 스택 메모리를 사용한다. 호출이 끝나면(즉, return되면) 스택메모리에서 사라지게 된다.
용어정리
용어 | 설명 |
객체 | 객체 지향 프로그램의 대상, 생성된 인스턴스 |
클래스 | 객체를 프로그래밍하기 위해 코드로 만든 상태 |
인스턴스 | 클래스가 메모리에 생성된 상태 |
멤버 변수 | 클래스의 속성, 특성 |
메서드 | 멤버 변수를 이용하여 클래스의 기능을 구현 |
참조 변수 | 메모리에 생성된 인스턴스를 가리키는 변수 |
참조 값 | 생성된 인스턴스의 메모리 주소 값 |
728x90
'java' 카테고리의 다른 글
[java] 멀티 스레드 - (1) 작업 스레드 생성과 실행 (0) | 2023.07.05 |
---|---|
[java] java 메모리 구조 (0) | 2021.05.25 |