1. null인 객체를 참조하는 변수를 매개변수로 넘겼을 때 public void printNull() { Object obj = null; System.out.println(obj); System.out.println(obj + " is object's value"); } 다음과 같이 null인 객체를 출력했을 때, 오류가 발생하는지 안하는지를 알려면 PrintStream의 메서드 print()와 println()을 이해해야 한다. 결과부터 보자면 각각 "null"과 "null is object's value"라는 문자열이 출력된다. 2. String.valueOf() 우리는 객체를 호출할 경우, 자동으로 해당 객체가 갖고 있는 Object 메서드인 toString()이 호출된다는 것을 알고 있다. 하..
상속 관계에서 하위 클래스에서 상위 클래스로 형변환 하는 것을 업 캐스팅이라고 한다. 그리고 반대로 다시 상위 클래스에서 하위 클래스, 원래 클래스로 되돌아 오는 것을 다운 캐스팅이라고 한다. 하지만 업 캐스팅과는 다르게 다운 캐스팅의 경우 자동으로 일어나지 않으므로 명시적으로 작성해야 한다. 1. 다운 캐스팅 업 캐스팅을 할 경우, 실제 인스턴스가 갖고 있는 멤버 변수들을 다 사용하지 못할 수 있다. 따라서 실제 인스턴스가 갖고 있는 멤버 변수나 메서드를 사용해야 하는 경우 다시 원래 타입으로 되돌아가야 하는 상황이 발생할 수 있다. 이 때 사용하는 것이 다운 캐스팅으로 자동으로 일어나지 않는다. Customer vc = new VIPCustomer(); //묵시적 VIPCustomer vCustome..
객체의 상속 과정에서 상속을 하는 클래스를 상위 클래스, 상속을 받는 클래스를 하위 클래스라고 한다. B extends A라고 한다면 A는 상위 클래스, B는 하위 클래스이다. 상속을 사용하는 이유는 기존에 구현된 클래스를 확장(extends)하는 의미와 함께 코드의 재사용, 유지 보수에 용이하기 때문이다. 즉 하위 클래스는 상위 클래스의 멤버 변수나 메서드를 가진 채(상속)로 시작(생성)하는 것이다. 하지만 컴퓨터 입장에서 하위 클래스를 실행하기 위해서는 상위 클래스가 먼저 실행되어야 할 것이다. 즉, 메모리에 먼저 상위 클래스를 생성하고 그 다음 하위 클래스를 생성함으로써 하위 클래스의 존재를 인식할 수 있다. 하위 클래스에서 생성자를 호출했을 때 실제로 구현되는 과정을 알아보자. 1. 하위 클래스의..
객체를 기반으로 인스턴스를 생성하면 인스턴스마다 각각의 멤버 변수를 갖는다. 하지만 이 인스턴스 들이 공용으로 사용할 수 있도록, 공통 변수를 불필요하게 계속 생성하는 것을 방지하기 위해 static을 사용한다. static을 사용한 변수나 메서드는 메모리의 Data 영역에 올라가며 프로그램의 시작과 종료까지 데이터가 남아 있다. 또한 인스턴스의 생성 여부와 상관없이 클래스의 이름을 참조하여 사용할 수 있다. 이러한 static의 원리를 사용한 디자인 패턴 중 하나가 바로 싱글톤 패턴(Singleton Pattern) 이다. 1. 싱글톤 패턴(Singleton Pattern) 싱글톤 패턴이란, 프로그램에서 인스턴스가 단 한개만 생성되어야 하는 경우에 사용하는 디자인 패턴이다. 회사를 예로 들면, 회사라는..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.