본문 바로가기

development/Codestates

22.12.28 블로그 세션, 객체지향 프로그래밍 기초-2

블로그 세션

zoom화상회의에서 블로깅을 장려하는 라이브 세션이 있었는데 요약하자면 

 학습한 내용을 텍스트로 정리하면 정리도 잘되고 공부가 수월하니 꼭 블로그 글을 써라

     -다른 사람이 보고 공부해도 될 정도로 정리해라
     -예제를 직접 만들어서 넣어라
     -배운것을 그냥 복붙하지 말고 코드 한줄이라도 직접 코딩해보고 글쓰면 남는게 많다

요런  블로그 작성시 추천사항이 있었다.
내 블로그에 적용하려고 2일간 블로그 글을 써놓은것을 보니까.. 줄글로 쫙 써놔서 다른 사람들이 보기에 가독성이 좋지도 않고, 정보전달을 위한 목적으로 쓴 글이 아니다 보니 이도 저도 아닌 내용이 된 것 같은 기분을 느꼈다.  비록 시간은 많이 걸리겠지만 다음 블로깅부터는 추천사항들을 적용해서 한번 작성해봐야겠다.

 


객체지향 프로그래밍 기초-2

어제에 이어서 객체지향 프로그래밍의 기초를 공부했는데, 생성자와 this, 그리고 내부 클래스에 대해 간략하게 배웠다.

 


생성자

 = 인스턴스 변수들을 초기화하는 데 사용되는 특수한 메서드
 반드시 클래스의 이름과 같아야 하고, 리턴 타입이 없다.
 오버로딩 가능.

예시

클래스명(매개변수) { // 생성자 기본 구조
	...생략...
}

 

기본 생성자.(Default Constructor)

 = 매개변수가 없는 생성자


예시

클래스명(){} //기본 생성자

DefaultConst(){} // 예시) DefaultConst 클래스의 기본 생성자

this()

 = 자신이 속한 클래스에서 다른 생성자를 호출하는 경우에 사용

 반드시 생성자의 첫 줄에 위치해야 하고, 생성자 내부에서만 사용가능

예시

public class Test {
    public static void main(String[] args) {
        Example example = new Example();
        Example example2 = new Example(5);
    }
}

class Example  {
    public Example() {
        System.out.println("Example의 기본 생성자 호출!");
    };

    public Example(int x) {
        this();
        System.out.println("Example의 두 번째 생성자 호출!");
    }
}

//Output
Example의 기본 생성자 호출!
Example의 기본 생성자 호출!
Example의 두 번째 생성자 호출!

this

 = 인스턴스 변수와 매개변수 구분 용도로 사용

 

예시

public class ConstructorExample {
    public static void main(String[] args) {
        Car car = new Car("Model X", "빨간색", 250);
        System.out.println("제 차는 " + car.getModelName() + "이고, 컬러는 " +  car.getColor() + "입니다.");
    }
}

class Car {
    private String modelName;
    private String color;
    private int maxSpeed;

    public Car(String modelName, String color, int maxSpeed) {
        this.modelName = modelName;
        this.color = color;
        this.maxSpeed = maxSpeed;
    }

    public String getModelName() {
        return modelName;
    }

    public String getColor() {
        return color;
    }
}

//Output
제 차는 Model X이고, 컬러는 빨간색입니다.

내부 클래스 (Inner Class)

내부 클래스는 그냥 이런게 있다 정도만 알고 있으면 된다고 한다. 

 


오늘은 유어클래스에서 제공해주는 코드를 그대로 복붙했지만 클래스, 객체, 필드, 메서드, 생성자는 꼭 확실하게 아는게 좋다고 하니 시간이 되면 간단한 것이라도 내가 직접 가공해서 재생산해야겠다.