본문 바로가기
반응형

분류 전체보기146

캡슐화(encapsulation) 정보 은닉을 활용한 캡슐화 외부에서 필요한 메소드 한두개만 오픈해서 나머지는 자동으로 생성될 수 있도록 사용할 수 있음. 외부에 꼭 필요한 정보만 오픈. 대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만 제공하여 일관된 기능을 구현하게 함. 각각의 메서드나 멤버 변수를 접근함으로써 발생하는 오류를 최소화할 수 있다. public class MakeReport { StringBuffer buffer = new StringBuffer(); private String line = "======"; private String title = "이름 \\t 주소 \\t\\t 전화번호 \\n"; private void makeHeader() { buffer.append(line); buffer.appe.. 2023. 3. 14.
접근 제어 지시자(access modifier)와 정보은닉(information hiding) 접근 제어 지시자 (access modifier) 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 public : 클래스 외부 어디서나 접근 가능 private : 같은 클래스 내부에서만 접근 가능(외부 클래스, 상속 관계의 클래스에서도 접근 불가) protected :같은 패키지나 상속관계의 클래스에서 접근 가능 아무것도 없는거(default) : 같은 패키지 내부에서만 접근 가능 (상속 관계라도 패키지가 다르면 접근 불가) get() set() 메서드 private으로 선언된 멤버 변수(필드)에 대해 접근, 수정할 수 있는 메서드를 public으로 제공 get() 메서드만 제공 되는 경우 read-only 필드 이클립스에서 자동으로 생성됨 정보 은닉 p.. 2023. 3. 14.
생성자와 오버로딩 vs 오버라이딩 생성자 객체를 생성할 때 new키워드와 함께 사용 ex) new Student(); 생성자는 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생성하기 위해 new와 함께 호출 됨 객체가 생성될 때 변수나 상수를 초기화하거나 다른 초기화 기능을 수행하는 메서드를 호출함 생성자는 반환 값이 없고, 클래스의 이름과 동일 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private으로 선언되는 경우도 있음. //생성자 만들기 public Student(int studentNumber, String studentName, int grade) { this.studentNumber = studentNumber; this.studentName = studentName; this.grade = grade; .. 2023. 3. 14.
인스턴스와 힙 메모리 인스턴스 (instance) 클래스는 객체의 속성을 정의하고, 가능을 구현하여 만들어 놓은 코드 상태 **실제 클래스 기반으로 생성된 객체(인스턴스)**는 각각 다른 멤버 변수 값을 가지게 됨 가령 학생의 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 됨 new키워드를 사용하여 인스턴스 생성 Student studentLee = new Student(); studentLee.studentName = "홍길동"; 힙 메모리 생성된 인스턴스는 동적 메모리(heap memory)에 할당됨 자바에서 Garbage Collector가 주기적으로 사용하지 않는 메모리를 수거 하나의 클래스로부터 여러개의 인스턴스가 생성되고 각각 다른 메모리 주소를 갖게됨 2023. 3. 14.
함수와 메서드 1. 함수란? 하나의 기능을 수행하는 일련의 코드 구현된 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨 함수로 구현된 하나의 기능은 여러곳에서 동일한 방식으로 호출되어 사용될 수 있음 2. 함수 호출과 스택 메모리 - 스택 : 함수가 호출될 때 지역 변수들이 사용하는 메모리 - 함수의 수행이 끝나면 자동으로 반환 되는 메모리 3. 메서드(method) 객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수 멤버 함수(member function)이라고도 함 메서드를 구현함으로써 객체의 기능이 구현됨 메서드 이름은 그 객체를 사용하는 객체(클라이언트)에 맞게 짓는것이 좋음 ex) getStudentName() *함수와 메서드의 차이점 정리 함수는 특정 작업을 수행하기 위해 설계된 기.. 2023. 3. 14.
반응형