본문 바로가기

개발/Java

(56) GITHUB 방명록
객체 간의 협력 (collaboration) 개발/Java / 2021. 4. 22. 객체 지향 프로그래밍에서의 협력 · 객체 지향 프로그램에서 객체 간에는 협력이 이루어짐. · 협력을 위해서는 필요한 메세지를 전송하고 이를 처리하는 기능이 구현되어야 함 · 매개 변수로 객체가 전달되는 경우가 발생 위 사진의 예제 소스 학생 객체가 버스나 지하철을 이용할 수 있다. 각 교통수단을 이용 시 학생이 갖고 있는 돈에서 탑승비용이 차감된다. 각 교통수단은 탑승한 인원 수와 인원만큼의 수입이 나타난다. Student의 클래스 public class Student { String studentName; int money; public Student(String studentName, int money) { this.studentName = studentName; this.money = money; ..
<접근 제어 지시자>와 <정보은닉> 개발/Java / 2021. 4. 20. 접근 제어 지시자 (access modifier) · 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 private : 같은 클래스 내부에서만 접근 가능 (외부 클래스, 상속 관계의 클래스에서도 접근 불가) default (아무 것도 없음) : 같은 패키지 내부에서만 접근 가능 (상속 관계라도 패키지가 다르면 접근 불가) protected : 같은 패키지나 상속관계의 클래스에서 접근 가능하고 그 외 외부에서는 접근 할 수 없음 public : 클래스의 외부 어디서나 접근 할 수 있음\ get( ) / set( ) 메서드 · private으로 선언된 멤버 변수 (필드)에 대해 접근, 수정할 수 있는 메서드를 public으로 제공 · get( ) 메서드만 제공..
참조 자료형 변수 개발/Java / 2021. 4. 20. 변수 자료형 참조 자료형 클래스형으로 변수를 선언 기본 자료형은 사용하는 메모리의 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다름 참조 자료형을 사용할 때는 해당 변수에 대해 생성해야 함 (String 클래스는 예외적으로 생성하지 않고 사용할 수 있음) ex. Student클래스에 Subject 변수인 과목을 같이 선언 하는 예 public class Student { public int studentId; public String studentName; Subject korean; Subject math; public Student(int studentId, String studentName) { this.studentId = studentId; this.studentName = student..
생성자 오버로딩 (overloading) 개발/Java / 2021. 4. 19. 생성자 오버로딩 (Constructor overloading) 한 클래스 안에 여러가지 생성자를 정의하는 생성자 오버로딩 앞에서 다룬 주제에서 한 가지 짚고 넘어가겠습니다. public Student(int studentNumber, String studentName, int grade) { this.studentNumber = studentNumber; this.studentName = studentName; this.grade = grade; } 위 코드는 매개 변수를 받고, 이 받은 값을 각 멤버 변수에 넣어주는 생성자 입니다. 여기서 this는 생성자의 클래스가 갖고 있는 멤버 변수를 나타내고 매개 변수는 해당 생성자 선언 지역에서만 사용되는 지역 변수 입니다. 사실 저기에 매개 변수는 이름을 자..
생성자(Constructor) 개발/Java / 2021. 4. 19. 생성자 (Constructor) · 객체를 생성할 때 new 키워드와 함께 사용 - new Student(); · 생성자는 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생성하기 위해 new와 함께 호출 · 객체가 생성될 때 변수나 상수를 초기화하거나 다른 초기화 기능을 수행하는 메서드를 호출 · 생성자는 반환 값이 없고, 클래스의 이름과 동일 · 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private으로 선언되는 경우도 있음 지역 변수와 멤버 변수의 차이 * 지역 변수는 초기화가 자동으로 안되기 때문에 직접 해줘야 한다. * 멤버 변수는 자동으로 값이 초기화 ex. 아래 코드로 보는 지역 변수와 멤버 변수의 차이 // 멤버 변수 public int studentNumber; publ..
인스턴스 생성과 힙 메모리 개발/Java / 2021. 4. 19. 인스턴스 (instance) : new 키워드를 사용하여 클래스를 메모리에 생성한 상태 new 키워드를 사용하여 생성자를 통해 생성한 객체를 인스턴스 생성 힙 메모리 생성된 인스턴스는 동적 메모리(heap memory)에 할당 C나 C++ 언어에서는 사용한 동적 메모리를 프로그래머가 해제시켜야 함(free() 나 delete 이용) 자바에서 Gabage Collector가 주기적으로 사용하지 않는 메모리를 수거 하나의 클래스로 부터 여러 개의 인스턴스가 생성되고 각각 다른 메모리 주소를 갖게 됨. 참조 변수, 참조 값 참조 변수 : 메모리에 생성돈 인스턴스를 가리키는 변수 참조 값 : 생성된 인스턴스의 메모리 주소 값 Student studentLee = new Student(); //생성자를 통해 생성..

반응형