본문 바로가기

개발지/회고

[0730] 7월 5주 주간학습 회고

#캡슐화

- 객체 안의 속성과 기능을 외부로부터 분리

- 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언하는 것.

- getter, setter 메서드로 캡슐화 한다.

 

#패키지

- 목적을 공유하는 클래스와 인터페이스를 패키지화한다.

- 같은 이름의 클래스라도 다른 패키지라면 충돌하지 않는다.

- 기본 패키지가 존재한다.

 

#import문

- 다른 패키지의 클래스를 사용하기 위해 기존 패키지에 import하는 것.

- import문을 통해 타패키지를 등록하지 않으면 해당 클래스의 멤버들을 사용할 수 없다.

  사용할 때마다 매번 패키지.클래스.메서드 순으로 입력하여 사용해야한다.

 

#제어자

- 클래스, 필드, 메서드, 생성자 등에 부가적인 의미를 부여.

- 접근 제어자와 기타 제어자가 존재. 접근 제어자는 하나의 대상에 한번만 사용 가능하다.

- 접근 제어자는 데이터에 접근할 수 있는 범위를 설정한다.

- 기터 제어자는 변수의 성격을 바꿀때 사용하다.

 

#getter와 setter

- getter 메서드는 변수값을 읽어올 때 사용한다.

- setter 메서드는 변수값을 설정하고자 할 때 사용한다.

 

#다형성

- 한 타입의 참조변수를 여러 타입의 객체가 참조할 수 있도록 만든 것.

- 상위 클래스 타입의 참조 변수로 하위 클래스의 객체를 참조한다. 

- 참조는 상위 클래스 -> 하위 클래스 로만 가능하다. (상위 클래스는 하위 클래스의 참조 변수로 쓰일 수 없다.)

 

#참조 변수의 타입 변환

- 타입 변환의 조건

(1) 서로 상속 관계에 있는 상위 - 하위 클래스 

(2) 상위 -> 하위 (다운캐스팅)은 형 변환 연산자(괄호)를 생략 불가능

(3) 하위 -> 상위 (업캐스팅)은 형 변환 연산자(괄호)를 생략 가능

 

#instanceof 연산자

- 타입변환이 가능한지를 확인할 때 사용하는 문법 요소.

- boolean 타입. 타입 변환이 가능할 땐 True를 반환한다.

 

더보기

객체지향 프로그래밍을 위한 자바의 특징을 배워나가고 있다.

예전에는 이해되지 않았던 게 복습하면서 이해가 되고,

코드로 직접 적은 것도 회고하면서 틀린 것을 발견해서 수정해나가고 있다.

다시 한 번 느끼는 거지만 개념을 이해하는 방법으로도 직접 코드를 통해 활용해 보는 방법이 좋은 것 같다.