본문 바로가기

Java/문법

(30)
8-1장 패키지와 임포트 1. 패키지(package) - 비슷한 목적으로 생성된 클래스 파일들을 한곳에 모아 둔 폴더 - 1개의 프로젝트에 1개의 패키지를 생성할 수 있고, 여러 개의 패키지를 생성할 수도 있다. - src 폴더의 하위 폴더에 위치 - 컴파일이 수행되면 바이트 코드가 저장되는 bin 폴더에도 동일한 하위 폴더 생성 - 패키지 지정 x - src 폴더 아래에 소스 파일이 바로 위치 - default package : 하위 폴더가 없음 - 패키지 지정 o - 지정된 패키지 폴더가 src 폴더 아래에 생성 - 그 아래에 소스파일 위치 - 패키지의 영향으로 클래스가 저장되는 공간이 분리돼 클래스명의 충돌을 방지할 수 있음 ex) A회사 B회사 협업 프로젝트 - 2개의 회사가 서로 다른 패키지에 동일한 이름의 클래스를 작..
7-4장 this 키워드와 this() 메서드 - 클래스의 외부에서 멤버 호출 -> 객체를 먼저 생성한 후 '참조 변수명. 멤버명'의 형태로 호출 - 클래스의 내부에서 멤버 호출 -> 객체의 생성 없이 필드와 메서드 바로 사용 가능 - But 모든 사용할 수 있는 상태의 멤버는 항상 객체 속에만 존재 1. 내부 객체 참조 변수명인 this 키워드 - 모든 메서드에는 자신이 포함된 클래스의 객체를 가리키는 this라는 참조 변수가 있음 - 모든 멤버는 객체 속에 존재하는 것이므로 int m =3이라는 필드를 클래스 내부에서 출력하고자 할 때도 System.out.println(this.m)과 같이 작성해야함 - this.를 생략하면 컴파일러가 자동으로 this.를 추가해줌 - 묵시적 this 키워드 자동 추가 package createobject; /..
7-3장 생성자 - 생성자 (constructor) - 객체를 생성하는 역할을 지닌 클래스의 내부 구성 요소 - 필드의 초기화 수행 1. 생성자의 특징 1) 반드시 클래스명과 동일한 이름으로 지어야함 2) 메서드와 비슷한 구조를 지니고 있지만, 리턴타입이 없다. - 클래스명(입력매개변수) { } class A { A() { //... } } 2. 기본 생성자의 자동 추가 - 기본 생성자 - 입력매개변수가 없는 생성자 - 모든 클래스는 생성자를 포함해야 함 - 클래스 ( 붕어빵 기계), 객체 (붕어빵) , 생성자(붕어빵을 찍는 기능) - 컴파일러는 생성자가 없는 클래스를 만들면 적어도 1개의 생성자가 필요하므로 입력 매개변수가 없는 기본 생성자를 추가해줌 - 컴파일러로 기본 생성자가 자동으로 추가된 클래스 class A ..
7-2장 메서드 1. 메서드 정의하기 - 메서드 - 클래스의 기능 - 자바 제어자 리턴(반환) 타입 메서드명(입력매개변수) { 메서드 내용 } public static int sum(int a, int b) { //메서드 내용 } - 리턴 타입 : 메서드 종료 이후 변환(반환)되는 값의 자료형 - 입력매개변수 : 메서드를 호출할 때 전달되는 값의 자료형과 전달받은 값을 저장할 지역 변수명을 정의 - 입력값으로 int형 2개의 값을 입력받아 처리하며, 메서드가 종료된 이후에 int값을 리턴한다 2. 여러 리턴 타입의 메서드 살펴보기 1) 리턴 타입이 void이고, 입력매개변수가 없는 메서드 void print() { System.out.println("안녕"); } 2) 리턴 타입이 int이고, 입력매개변수가 없는 메서드..
7-1장 필드 1. 필드와 지역 변수의 구분 - 필드(filed) - 클래스에 포함된 변수 - 객체의 속성값 지정 - 힙 메모리의 객체 내부 생성 - 힙 메모리의 객체 안에 저장되는 필드는 객체가 사라지지 않는 한 절대로 삭제되지 않음 - 지역 변수 - 메서드에 포함된 변수 - 스택 메모리에 생성 - 자신이 선언된 메서드의 중괄호가 닫혀 메서드가 종료되면, 그 메서드 안에 선언된 모든 지역 변수가 메모리에서 통째로 삭제 class A { int m =3; //상위 중괄호가 클래스일때는 필드 int n = 4; void work1(){ int k=5; //상위 중괄호가 메서드일 때는 지역변수 System.out.println(k); work2(3); } void work2(int i) { //상위 중괄호가 메서드일 때는..
6-2장 객체의 생성과 활용 1. 객체 생성하기 1) 클래스의 객체 생성 - 모든 클래스가 객체를 new 키워드로 생성 - 클래스명 참조 변수명 = new 생성자(); A a = new A(); - 참조 변수 : 실제 데이터가 있는 힙 메모리의 위칫값을 가리키는 변수 - new 키워드 : ~을 힙 메모리에 넣어라 . 생성자의 결과물로 나온 객체를 힙 메모리에 넣음 - 생성자 : 생성자가 실행되면 클래스의 객체 생성 - A() 생성자로 만든 객체를 힙 메모리에 넣고, 위칫값을 A타입의 참조 변수 a에 저장하라 2) 객체 생성에 따른 메모리 구조 - 클래스 A는 메모리의 클래스 영역 참조 변수는 스택 영역에 들어감 - 내부 공간에는 실제 데이터(객체)의 위칫값 저장 - 생성자로 만들어진 객체는 힙 메모리에 위치 - 객체 내부에는 클래스..