Getter, Setter란 무엇인가? Getter와 Setter는 자바에서 주로 사용되는 방법론 중 하나로, 객체지향 프로그래밍의 캡슐화 원칙을 적용하는데 사용된다. 이들은 클래스의 내부필드에 대한 읽기/쓰기 접근을 제어하는 메서드이다. 사용하는 주요 이유 데이터 보호 : 필드를 직접 조작하는 것보다 메서드를 통해 데이터에 접근하게 함으로써 데이터의 보호를 가능하게한다. 이를 통해, 클래스의 필드에 대한 읽기 및 쓰기 작업을 정교하게 제어할 수 있다. 캡슐화 : 클래스의 필드와 이를 사용하는 코드를 캡슐화하면, 클래스의 내부구현이 외부로부터 은폐되므로 클래스를 보다 안전하게 사용할 수 있다. 나중에 클래스의 내부 구현을 변경해야 할 경우에도 캡슐화가 용이하게 해준다. 유효성 검사 : Setter메서드는..
오버라이딩 오버라이딩(Overriding)은 상속관계에 있는 부모클래스의 메서드를 자식클래스에서 재정의 하는것을 말한다. 오버라이딩을 통해 자식 클래스는 부모 클래스의 메서드를 자식의 필요에 맞게 변경하여 사용할 수 있다. 오버라이딩 규칙은 다음과 같다. 메서드 이름, 매개변수, 반환 타입이 부모 클래스의 메서드와 완전히 같아야 한다. 접근 제어자는 부모 클래스의 메서드보다 더 좁은범위로 변경할 수 없다. 즉, protected 메서드를 private으로 변경할 수 없다. 부모 클래스의 메서드보다 더 큰 범위의 예외를 선언할 수 없다. 예제 class Person{ //Field int gender; int power; //Constructor Person(){ this.gender = 1;// 1:남성..
상속(Inheritance)이란 무엇인가? 상속은 객체지향 프로그래밍에서의 중요한 개념 하나로, 부모 클래스의 속성과 기능을 자식클래스에게 물려주는 거을 말한다. 부모 클래스(Parent class) 또는 슈퍼 클래스(Super class)라고 부르며, 상속을 받은 클래스는 자식 클래스(Child class) 또는 서브/하위 클래스(sub class)라고 부른다. 상속의 장점 상속의 가장 큰 장점은 "재활용성"이다. 부모 클래스에서 정의된 속성과 메서드를 그대로 사용할 수 있으므로, 완전히 새로운 클래스를 만들지 않고도 새로운 기능을 추가할 수 있다. 또한, 필요에 따라 상속받은 메서드를 자식 클래스에서 수정하여 사용할 수 있어, 확장성 또한 향상 시킨다. 상속의 활용 자바에서 "extends"키워드를 ..
생성자(Constructor) 생성자(Constructor)는 클래스의 인스턴스(객체)가 생성될 때 자동으로 호출되는 메서드이다. 생성자의 주 목적은 클래스의 멤버 변수(속성)을 초기화하는 것이다. // [1] : 생성자 (Constructor) // 생성자는 new 키워드로 클래스의 객체(또는 인스턴스)가 생성될 때 제일 먼저 자동적으로 호출되는 특별한 메서드이다. // 따라서, 객체의 초깃값 설정하는 등의 용도로 많이 사용된다. // 생성자명은 클래스명과 동일하게 만든다. // 생성자는 리턴되는 반환값이 없다. // 생성자는 오버로딩이 가능하다. // 생성자는 default 생성자란게 있다. -> 클래스내에 생성자가 없다면 default 생성자가 자동호출 -> 클래스명과 동일하고, 받는인자값 X //..
class a{ } class b{ } public class oop_Exam04 { public static void main(String[] args) { } } 다음은 클래스 작성시 주의할 사항인데 이중 틀린 것을 말해보시오. 이 문제는 여러 클래스 작성시 주의할 점에 대해서 알고 있는지를 묻는 문제이다. (1) 하나의 파일에 2개이상 의 클래스를 작성할수 있다. (2) 3개의 클래스가 있다면 자바 파일명이 될 수 있다는 것은 public 키워드가 붙은 클래스이다. (3) 하나의 파일에 있는 3개의 클래스에 모두 public 키워드를 붙일 수 있다. (4) 한 파일내 3개 이상의 클래스에 모두 public 키워드를 안붙일 수 있다. (5) 한 파일내 3개 이상의 클래스에 모두 public 키워드가 ..
다양한 진법의 문자열을 10진수로 변환하는 방법 // 문자열을 숫자로 변환시키는 방법 -> Integer.parseInt() 사용. // parseInt() -> Integer클래스의 static으로 지정 -> 따라서, 객체의 생성없이 바로 "클래스명.parseInt()"로 직접사용이 가능. public class oop_Parselnt2 { public static void main(String[] args) { // [1] : 진수 지정 System.out.println("--- [진수 지정] ---"); System.out.println(Integer.parseInt("2023"));// 2023 System.out.print("10진수 : "); System.out.println(Integer.p..