본문 바로가기
JAVA

ep 03-2. 클래스와 객체1

by L_SU 2022. 11. 20.

객체

- 사전적 의미로 의사나 행위가 미치는 대상을 뜻함

- 구체적, 추상적 데이터 단위

 

객체지향 프로그래핑(OOP)

- Object Oriented Programming

- 객체를 기반으로 하는 프로그래밍

 

클래스

- 객체에 대한 속성과 기능을 코드로 구현한 것

- 흔히 클래스를 정의한다라 함

- 객체에 대한 청사진

 

정의 방법

(접근 제어자)class 클래스 이름{

        멤버 변수;

        메서드;

}

 

 

객체의 속성

- 객체의 특성(property), 속성(attribute), 멤버 변수(member variable)

객체의 기능

- 객체가 하는 기능들을 메서드로 구현

  method, member function

 

- 대부분 대문자로 시작

- 멤버 변수를 선언할 땐 자료형을 이용해 선언함

- 하나의 자바 파일에 하나의 클래스를 두는 것이 원칙

  but 여러 개의 클래스가 있는 경우 public 클래스는 단 한개

 -> 이때 public 클래스와 자바 파일의 이름은 동일해야 함

- 자바의 모든 코드는 클래스 내부에 위치

 

클래스 정의하기 

public class Human{
	String name;
    	int age;
    	int sex;
        
        public void showinfo(){
        System.out.println(name+","+age+","+sex);
        }
}

 

클래스 생성하기

클래스 형 변수 이름 = new 생성자;

public class Human{
	String name = " ";
    	int age = 0;
    	int sex = 0;
        
        public void showinfo(){
        System.out.println(name+","+age+","+sex);
        }
    public static void main(String[] args) {
        Human humanlee = new Human(); // 클래스 생성
        humanlee.showinfo();
    }
    
}

//결과
//  ,0,0

메서드

함수의 일종으로 객체의 기능을 제공하기 위해 클래스 내부에 구현되는 함수

 

함수?

한의 기능을 수행하는 일련의 코드

중복되는 기능은 함수로 구현해, 호출하여 사용 가능

 

함수 정의 하기

함수의 이름, 매개변수, 반환 값을 선언하고 코드를 구현함

 

방법

int add(int n1, int n2){ // 함수 반환형(int), 함수 이름(add), 매개 변수(n1, n2)

   int result;

   result = n1 + n2;

   return result // return 예약어

}

 

함수 호출 하기

public class Main
{
	public static void main(String[] args) {
	    int n1 = 10;
	    int n2 = 15;
	    
	    int sum = add(n1, n2); //호출
	    
	    System.out.println(n1+"+"+n2+"="+sum);
	    
    }
    public static int add(int n1, int n2){
        int result = n1 + n2;
        return result;
    }
}

// 결과
// 10+15=25

 

생성자

디폴트 생성자(default constructor)

- 하나의 클래스에는 반드시 하나 이상의 Constructor가 존재

-프로그래머가 Constructor 를 기술하지 않으면 Default Constructor가 자동으로 생김

 (컴파일러가 코드에 넣어줌)

- 매개변수, 구현부가 없음

생성자 오버로드(constructor overload)

필요에 의해 생성자 추가하는 경우,

여러개의 생성자가 하나의 클래스에 있음

 

'JAVA' 카테고리의 다른 글

ep 03-4. 문제 풀이2  (0) 2022.11.20
ep 03-3. 클래스와 객체2  (0) 2022.11.20
ep 03-1. 제어 흐름 이해하기  (0) 2022.11.20
ep 02-3. 간단한 문제 풀이(1~5)  (0) 2022.11.13
ep 02-2. 자바의 여러 가지 연산자  (0) 2022.11.13