ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2. 클래스(Class) 및 함수
    BackEnd/JAVA 2022. 2. 17. 12:07
    728x90
    public class Class {
    	// 멤버 접근 범위 지정자(Member Access Modifiers)s
    	private int m_iPrivateVal = 0;
    	public float fPublicVal = 3.14f;
    	// protected: 상속 시에 상속된 자식들만 접근가능
    	// 생략 시 default로 패키지 내에 있는 클래스들은 접근가능
    	// 캡슐화(Encapsulation) 관점에는 멤버 변수는 숨겨지는게 좋음
    	
    	// Getter, Setter
    	// void: 아무런 정보가 없는 자료형
    	public void SetPrivateval(int _val) {
    		m_iPrivateVal = _val;
    	}
    	// 반환형(반환되는 자료형) / 함수명/ (매개변수)
    	public int GetPrivateVal() {
    		return m_iPrivateVal;
    	}
    	
    	// 생성자(Constructor)
    	// 객체가 생성되면 가장 먼저 '자동'으로 호출되는 함수
    	// 1. 반환형이 없음
    	// 2. 함수명이 클래스명과 동일
    	// 모든 클래스는 객체가 생성될 때 반드시 생성자가 호출 되어야 함
    	// 생성자를 호출하지 못한 클래스는 클래스로써의 역할을 하는데 문제가 있음
    	// 생성자를 정의하지 않으면 기본 생성자(Default Constructor)를 자동생성
    	// 하나이상을 만들었으면 default 생성자는 만들어 지지 않는다.
    	public Class() {
    		System.out.println("Class Constructor Call!!");
    	}
    	
    	// 함수 오버로딩(Function Overloading)
    	// 함수명은 같으며 인자의 자료형이나 수가 다른 함수의 선언을 허용하는 것을 말합니다.
    	// 1. 함수명이 같아야 한다.
    	// 2. 매개변수의 수가 다르거나, 아니면 그 매개변수의 수가 같고 자료형이 달라야만 한다.
    	// 3. 위의 두 조건을 모두 만족하면 반환형의 차이는 함수 오버로딩에 영향을 미치지 않는다.
    	public void FuncOver() {
    		System.out.println("FuncOver() Call!!");
    	}
    	
    	public void FuncOver(int _val) {
    		System.out.println("FuncOver(int) Call!!");
    	}
    	
    	public void FuncOver(Float _val) {
    		System.out.println("FuncOver(float) Call!!");
    	}
    	
    	public void FuncOver(int _lhs, int _rhs) {
    		System.out.println("FuncOver(int, int) Call!!");
    	}
    }

    'BackEnd > JAVA' 카테고리의 다른 글

    5-1. 상속 연습 예제 - 네비게이션  (0) 2022.02.22
    5. 상속(Inheritance)  (0) 2022.02.21
    4. 배열(Array)  (0) 2022.02.18
    3. 정적 Static  (0) 2022.02.18
    1. 자료형(Date Type )  (0) 2022.02.17

    댓글

Designed by Tistory.