[Must Have Java][2단계] 09 클래스의 기초

yesjuhee·2022년 11월 6일
0

Java 공부

목록 보기
3/6

Must Have 이재환의 자바 프로그래밍 입문 책을 읽고 정리한 글입니다.

  • 클래스란 프로그래밍에서 객체와 관련된 데이터와 처리 동작을 한데 모은 코드 뭉치
  • 실체화된 클래스를 객체(오브젝트)라고 하며, 실체화하는 작업을 ‘객체(오브젝트)를 생성한다’ 또는 ‘인스턴스화한다’고 말함

클래스의 구성

  • 멤버 변수, 메서드, (생성자)
public class Npc
{
	String name;  // 멤버 변수 or 클래스 변수
	int hp;

	Npc()  //디폴트 생성자
	{
	}
	
	void setHp(long amount). //메서드
	{
		int x = 0;
		...
	}

클래스의 생성

Book myBook = new Book();
// (클래스 타입) (변수) = (객체 생성 연산자) (생성자)

main함수와 class

  • java NpcUse 를 터미널에 입력하면 자바는 java.exe를 실행시켜 자바 가상 머신을 만들고 NpcUse 이름의 클래스를 찾아 그 안의 main 함수를 실행시킴!

오버로딩

  • 하나의 클래스 내에 매개변수 개수나 자료형은 다르지만 메서드명은 같은 메서드를 여러 개 정의하는 것

생성자 : 객체 생성을 할 때만 호출하는 특수한 메서드

  • 생성자명은 클래스 명하고 같음
  • 메서드이지만 반환형이 없는 형태
  • 생성자의 오버로딩을 이용하면 클래스의 객체 변수가 만들어질 때 다양한 방식으로 변숫값을 초기화할 수 있음

접근 제한자 : 변수나 메서드에 접근 제한자를 지정하여 접근을 제한시킴

  • public : 퍼블릭. 외부 클래스 어디에서나 접근 가능
  • protected : 프로텍티드. 같은 패키지(같은 폴더) 내부와 상속 관계의 클래스에서만 접근 가능
  • (none) : 디폴트. 같은 패키지 내부에서만 접근 가능.
  • private : 프라이빗. 같은 클래스 내부에서만 접근 가능 → 정보 은닉화에 이용

정보 은닉과 값의 전달

  • setter : 세터. private 멤버 변수에 값을 대입하는 메서드
  • getter : 게터. private 멤버 변수에서 값을 가져오는 메서드
  • 세터와 게터는 부적절한 값의 대입을 막거나, 변수를 가공하여 전달하는 기능을 함.
  • this 지시어 : 매개변수와 클래스의 멤버 변수명이 겹칠 때 멤버 변수임을 표시하기 위해 이용
class Student2
{
	public String name;
	private int age;  //private 멤버 변수
	
	public Student2(String name, int age) //생성자
	{
		this.name = name;
		this.age = age;
	}

	public int getAge() //게터
	{
		return age;
	}

	public void setAge(int age) //세터
	{
		if (age < 0 || age > 150) //유효성 검사
		{
			System.out.println("나이가 부적절합니다.");
			this.age = 0;
			return;
		}
		this.age = age;
	}
}
profile
반성은 하되 후회하지 않는다😎

0개의 댓글