목록Java/Java의 정석 (20)
Hyunebee
변수의 초기화 우리는 변수를 생성하고 사용한다. 이때 처음으로 값을 저장하는 것을 변수의 초기화라고 한다. 멤버 변수(클래스 변수, 인스턴스 변수)는 초기화를 하지 않아도 자동적으로 변수의 자료형에 맞는 기본값으로 초기화된다. 하지만 지역변수는 사용하기전에 반드시 초기화를 시켜주어야 한다. 멤버변수의 초기화 방법 1. 명시적 초기화 2. 생성자 3. 초기화블럭 명시적 초기화 보통 우리가 변수를 사용할때 선언과 동시에 초기화하는 것을 명시적 초기화라고 한다. String color = "AAA"; 초기화 블럭 -static -instance static 초기화 블럭은 클래스 생성시 같이 생성된다. instance 초기화 블럭은 주로 생성자에 사용하면 공통으로 수행돼야 하는 코드를 넣는데 사용한다. 멤버변수..
생성자 생성자 : 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드이다. 생성자 역시 메서드처럼 클래스 내에 선언되며, 구조도 메서드와 유사하지만 클래스와 이름이 같아야하고 리턴값이 없다. 하지만 리턴값이 없는것을 뜻하는 void또한 붙지 않는다. 생성자 또한 오버로딩이 가능하다 다른 매개변수를 사용함으로써 각각의 초기화를 따로 처리할 수 있다. ex)인스턴스 생성과정 클래스이름 c = new 클래스이름() 1. 연산자 new에 의해서 메모리(heap)에 클래스의 인스턴스가 생성된다. 2. 생성자 호출되어 수행된다. 3. 연산자 new의 결과로, 생성된 인스턴스의 주소가 반환되어 참조변수 c에 저장된다. 기본 생성자 사실 모든 클래스에는 반드시 하나 이상의 생성자가 정의되어 있어야 한다. 원래 우리가..
오버로딩 오버로딩 : 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것 이때 매개변수의 개수 또는 타입이 달라야 한다. ex) print() print메서드를 호출할 때 마다 매개변수로 넘겨주는 값의 타입에 따라서 위의 메소드중 하나가 선택되서 사용된다 위에서 보면 매개변수 개수 또는 타입이 같아야한다. -> 가변인자인경우는? 가변인자 : 타입... 변수명과 같은 방식으로 선언하며 매개변수가 여러개 필요한 경우 편하게 사용할 수 있다 하지만 이는 내부적으로 배열을 이용함으로 성능의 저하를 가져올 수 있다. 가변인자를 사용하면 메서드를 호출했을 때 구별되지 못하는 경우가 발생하기 쉽기 때문에 주의해야한다.
객체 지향 프로그래밍 객체(속성 + 행동) - 현실 세계의 사물이나 개념을 시스템에서 이용하기 위해서 현실 세계의 개념을 손쉽게 이용할 수 있도록 만든 소프트웨어 모델 - 속성 : 객체의 특성을 표현하는 정적인 성질 -> 필드라고함 - 행동 : 객체 내부의 일을 처리하거나 객체들간의 서로 영향을 주고 받는 동적인 일을 처리하는 단위 -> 메서드 객체 지향 프로그래밍의 4가지 특징 1. 추상화 객체에서 불필요한 부분을 제거하여 필요한 부분만을 간결하고 이해하기 쉬운 클래스로 만드는 작업 속성과 행동으로 추상화를 실현한다. 2. 다형성 객체 지향에서 다형성은 여러 가지 형태를 가질 수 있는 능력을 의미한다. 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 구현하였다. ..