본문 바로가기
반응형

JAVA/Java24

여러 인스턴스에서 공통으로 사용하는 변수를 선언하자 - static변수 공통으로 사용하는 변수가 필요한 경우 여러 인스턴스가 공유하는 기준 값이 필요한 경우 학생마다 새로운 학번 생성 카드회사에서 카드를 새로 발급할때마다 새로운 카드 번호를 부여 회사에 사원이 입사할때마다 새로운 사번이 필요한 경우 static 변수 선언과 사용하기 static int serialNum; 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당 클래스변수, 정적 변수라고도 함 인스턴스 생성과 상관 없이 사용 가능하므로 클래스 이름으로 직접 참조 ex) Student.serialNum = 100; static 변수 테스트하기 public class Employee { private static int serialNum = 1000; private int .. 2023. 3. 14.
객체 자신을 가리키는 this this가 하는 일 인스턴스 자신의 메모리를 가리킴 생성자에서 또 다른 생성자를 호출할 때 사용 자신의 주소(참조값)을 반환 함 생성된 인스턴스 메모리의 주소를 가짐 클래스 내에서 참조변수가 가지는 주소값과 동일한 주소값을 가지는 키워드 생성자에서 다른 생성자를 호출하는 this 클래스에 생성자가 여러개인 경우, this를 이용하여 생성자에서 다른 생성자를 호출할 수 있음 public class Person { String name; int age; public Person() { this("이름없음",1); } Public Person(String name, int age) { this.name = name; this.age = age; } } 자신의 주소를 반환하는 this public class P.. 2023. 3. 14.
StringBuffer StringBuffer은 문자열을 추가하거나 변경할 때 주로 사용하는 자료형이다. 1. append append라는 메소드를 이용해서 계속해서 문자열을 추가해나갈 수 있다. toString() 메소드를 이용하면 String 자료형으로 변경할 수 있다. public class Test { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); sb.append("hello"); sb.append(" "); sb.append("jump to java"); System.out.println(sb.toString()); } } 결과 : hello jump to java StringBuffer 자료형은 String 자료형보다 무.. 2023. 3. 14.
캡슐화(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.
반응형