728x90
반응형
프로그래머스 자바 입문 강의를 학습 목적으로 정리하여 포스팅합니다.
1. 생성자
모든 클래스는 인스턴스화 될 때 생성자를 사용한다
생성자의 특징
- 생성자는 리턴타입이 없다
- 생성자를 프로그래머가 만들지 않으면 매개변수가 없는 생성자가 컴파일할 때 자동으로 만들어진다
- 매개변수가 없는 생성자를 기본생성자라고 한다
- 생성자를 하나라도 프로그래머가 만들었다면 기본생성자는 자동으로 만들어지지 않는다
생성자의 역할
- 생성자가 하는 일은 객체가 될 때 필드를 초기화하는 역할을 수행한다
// Car 클래스 생성
public class Car{
string name;
int number;
// 생성자
public Car(String n){
name = n;
}
}
public class CarExam2{
public static void main(String args[]){
Car c1 = new Car("소방차");
System.out.println(c1.name); // 소방차
}
}
2. this
this는 현재 객체, 자기 자신을 나타낸다
클래스 안에서 자기 자신이 가지고 있는 메소드를 사용할 때도 this.메소드명()으로 호출할 수 있음
// this.name은 필드의 name
// = 뒤에 name은 매개변수
// 즉 매개변수의 값을 필드에 대입하라는 의미
public Car(String name){
this.name = name;
}
3. 메소드 오버로딩
매개변수의 유형과 개수를 다르게 하여 같은 이름의 메소드를 여러 개 가질 수 있게 하는 기술
class MyClass2{
public int plus(int x, int y){
return x+y;
}
public String plus(String x, String y, String x){
return x+y+z;
}
4. 생성자 오버로딩과 this
생성자의 매개변수의 유형과 개수를 다르게 하여 같은 이름의 생성자를 여러 개 가질 수 있다
public class Car{
String name;
int number;
public Car(String name){
this.name = name;
}
// 자신의 생성자를 호출하여 비슷한 코드 중복 방지
public Car(){
//this("이름없음", 0);
}
public Car(String name, int number){
this.name = name;
this.number = number;
}
}
5. 패키지
패키지(package)란 서로 관련이 있는 클래스 또는 인터페이스들을 묶어 놓은 묶음
패키지를 사용함으로써 클래스들이 필요할 때만 사용될 수 있도록 하고, 클래스를 패키지 이름과 함께 계층적인 형태로 사용함으로써 다른 그룹에 속한 클래스와 발생할 수 있는 클래스 이름 간의 충돌을 막아주어 클래스의 관리를 편하게 함
패키지 정의 방법
- 도메인 이름 거꾸로.프로젝트명
- 도메인 이름이 8cruz.com 이고 프로젝트 이름이 javastudy 라면 com.eightcruz.javastudy.Hello
- 도메인이 숫자로 시작되는데 패키지명은 첫 글자에 숫자를 사용할 수 없으므로 적절히 수정
- 도메인으로 사용하는 이유는 패키지가 중복되는 것을 방지하기 위함이므로, 반드시 존재하는 도메인이 아니라도 상관없음
- 도메인 이름이 8cruz.com 이고 프로젝트 이름이 javastudy 라면 com.eightcruz.javastudy.Hello
이클립스에서 패키지 생성 방법
- 소스폴더 우클릭 → 패키지 생성 클릭
- 패키지 이름에 kr.co.helloWorld.javastudy 입력
- 해당 패키지를 선택하고 Hello 클래스 작성
- 작성된 클래스 파일의 첫 줄에 package com.eightcruz.javastudy.Hello; 이 자동 생성됨
- 패키지를 생성하는 예약어는 package
패키지에 생성된 클래스 사용 방법
- java.lang 패키지를 제외하고는 다른 패키지에 있는 클래스를 사용하려면 import 구문을 적어야 함
- import com.eightcruz.javastudy.Hello;
- 단축키 : ctrl + shift + o
- 위의 코드는 com.eightcruz.javastudy 패키지 아래의 Hello 클래스를 사용하겠다는 것을 컴파일러와 JVM에게 알리는 것
- 클래스 이름 대신에 *를 적어도 됨
- import com.eightcruz.javastudy.*;
import 하지 않고 사용하는 방법
- import를 하기 싫거나 각기 다른 패키지에 존재하는 같은 이름의 클래스 파일을 사용해야 하는 경우
- com.eightcruz.javastudy.Hello hello = newe com.eightcruz.javastudy.Hello();
728x90
반응형
'JAVA > [프로그래머스] 자바 강의' 카테고리의 다른 글
[프로그래머스] 자바 입문 강의 part8. 인터페이스와 다른 형식의 클래스 (1) | 2023.01.16 |
---|---|
[프로그래머스] 자바 입문 강의 part7. 상속 (0) | 2023.01.16 |
[프로그래머스] 자바 입문 강의 part5. 클래스와 객체 (1) | 2023.01.16 |
[프로그래머스] 자바 입문 강의 part4. 배열 (0) | 2023.01.16 |
[프로그래머스] 자바 입문 강의 part3. 제어문 (0) | 2023.01.16 |