JAVA
-
인스턴스 객체화하는 이유JAVA/궁금증 2024. 9. 1. 08:32
public class AccessData { public int publicField; int defaultField; private int privateField; } import access.a.AccessData;public class AccessOuterMain { public static void main(String[] args) { AccessData data = new AccessData(); //public 호출 가능 data.publicField = 1; data.publicMethod(); }} 클래스는 단지 설계도일 뿐이고 실제로 그 클래스를 사용하려면 해당 클래스의 객체를 만들어야 한다.AccessData data = new AccessData();는 ..
-
접근제어자 / 캡슐화JAVA/개념 - 김영한 강의 2024. 8. 30. 15:51
접근 제어자의 종류private : 모든 외부 호출을 막는다(해당 클래스 내에서만 사용가능).default (package-private): 같은 패키지안에서 호출은 허용한다.protected : 같은 패키지안에서 호출을 허용하며, 패키지가 달라도 상속 관계의 호출 또 허용한다.public : 모든 외부 호출을 허용한다. default(package-private)접근 제어자를 명시하지 않으면 같은 패키지 안에서 호출을 허용하는 default 접근 제어자가 적용된다. default 라는 용어는 해당 접근 제어자가 기본값으로 사용되기 때문에 붙여진 이름이지만, 실제로는 package private이 더 정확한 표현이다. 왜냐하면 해당 접근 제어자를 사용하는 멤버는 동일한 패키지 내의 다른 클래스에서 만 접..
-
생성자는 클래스 당 몇 개 만들 수 있을까?JAVA/궁금증 2024. 8. 25. 09:22
생성자 오버로딩(Constructor Overloading)을 통해 동일한 클래스 내에서 서로 다른 매개변수 리스트를 가지는 여러 개의 생성자를 만들 수 있다. 생성자 오버로딩을 통해 개발자는 객체를 다양한 방법으로 초기화 할 수 있다. 예를 들어, 매개변수가 없는 기본 생성자와, 특정 필드를 초기화하는 생성자를 각각 정의할 수 있습니다. public class MyClass { private int x; private int y; // 기본 생성자 public MyClass() { this.x = 0; this.y = 0; } // 매개변수가 있는 생성자 public MyClass(int x) { this.x = x; ..
-
생성자 -오버로딩(Overloading)과 this() + 오버라이딩(Overriding)JAVA/개념 - 김영한 강의 2024. 8. 25. 07:12
생성자 객체 생성 직후 객체를 초기화하기 위한 특별한 메서드반복적으로 초기화하지 않고 처음에 초기화해놔서 나중에 쓰기 편함생성자를 사용하면 필수값 입력을 보장받아 오류가 생기지 않는다.이름이 클래스 이름과 같아야 한다. 따라서 첫 글자도 대문자다.반환타입이 없다.매개면수가 없는 생성자를 기본 생성자라고 한다.클래스에 생성자가 하나도 없으면 자바는 매개변수가 없고 작동하는 코드가 없는 기본 생성자를 자동으로 만들어준다. 그러나 생성자가 하나라도 있으면 자바는 기본 생성자를 만들지 않는다. 생성자 -오버로딩(Overloading) 생성자도 메서드 오버로딩처럼 매개변수만 다르게 해서 여러 생성자를 만들 수 있다. public class MemberConstruct { String name; int..
-
생성자JAVA/개념 - 김영한 강의 2024. 8. 24. 23:33
생성자(Constructor)객체 생성 후 바로 초기값을 할당해야하는 경우가 많음. 이를 계속 반복하기보다 편리하게 객체를 사용할 수 있도록 생성자를 사용. 생성자를 사용하면 객체를 생성하는 시점에 즉시 필요한 기능을 수행할 수 있기에.생성자의 이름은 클래스 이름과 같아야 한다. 따라서 첫 글자도 대문자로 시작한다.생성자는 반환 타입이 없다. 비워두어야 한다.나머지는 메서드와 같다.public class MemberConstruct { String name; int age; int grade; // MemberConstruct public class ConstructMain1 { public static void main(String[] args) { ..