본문 바로가기

JAVA24

[JAVA] Getter와 Setter 메소드 Setter Car myCar = new Car(); myCar.speed = -100; 위의 코드처럼 자동차의 속력은 음수가 될 수 없는데, 외부에서 음수로 변경하면 객체의 무결성이 깨진다. (객체의 필드를 외부에서 마음대로 읽고 변경할 경우 객체의 무결성이 깨질 수 있다.) 무결성: 결점이 없는 성질 따라서 객체 지향 프로그래밍에서는 직접적인 외부에서의 필드 접근 대신 메소드를 통해 필드에 접근하는 것을 선호한다. 그 이유는? 메소드는 데이터를 검증해서 유효한 값만 필드에 저장할 수 있기 때문이다. 이러한 역할을 하는 메소드가 Setter이다. private double speed; public void setSpeed(double speed){ if(speed < 0){ this.speed = 0;.. 2023. 12. 18.
[JAVA] 자바의 예외 처리(try-catch) 정리 예외 에러: 컴퓨터 하드웨어의 고장으로 인해 응용프로그램 실행 오류가 발생하는 것으로, 개발자는 이런 에러에 대처할 방법이 없다. 예외: 잘못된 사용 또는 코딩으로 인한 오류를 말한다. 예외 처리를 통해 계속 실행 상태를 유지할 수 있다. 예외의 종류 일반 예외(Exception): 컴파일러가 예외 처리 코드 여부를 검사하는 예외 실행 예외(Runtime Exception): 컴파일러가 예외 처리 코드 여부를 검사하지 않는 예외 예외 처리 코드 예외 처리 코드란? - 예외가 발생했을 때 프로그램의 갑작스러운 종료를 막고 정상 실행을 유지할 수 있도록 처리하는 코드로 try-catch-finally로 구성된다. try-catch-finally 블록은 생성자 내부와 메소드 내부에서 작성된다. try{ //예.. 2023. 8. 28.
[JAVA] 자바 인터페이스(Interface)의 기본 개념을 알아보자 인터페이스(Interface)는 사전적 의미로 두 장치를 연결하는 접속기라고 나온다. 인터페이스의 역할 위의 그림으로 설명하자면 인터페이스는 '객체'와 '개발 코드A', '객체' 와 '개발 코드B'를 연결하는 역할을 한다. '객체'는 인터페이스를 통해 '개발코드 A'나 '개발코드 B'를 사용할 수 있다는 것이다. 인터페이스와 구현 클래스 선언 인터페이스는 물리적 형태는 클래스와 동일하다. 단, 소스를 작성할 때 선언하는 방법과 구성 멤버가 클래스와 다르다. 인터페이스 선언 인터페이스 선언은 class 키워드 대신 interface 키워드를 사용한다. 접근제한자로는 클래스와 마찬가지로 같은 패키지 내에서만 사용 가능한 default나 패키지와 상관없이 사용하는 public을 붙일 수 있다. interfac.. 2023. 8. 25.
[JAVA] 추상 클래스와 추상 메소드 정리 '추상'은 사전적 의미로 실체 간에 공통되는 특성을 추출한 것이라고 말한다. 예를 들어 새, 곤충, 물고기 등의 공통점은 동물이다. 여기서 동물은 실체들의 공통되는 특성을 가지고 있는 추상적인 것이라고 볼 수 있다. 추상 클래스 객체를 생성할 수 있는 클래스를 실체 클래스라고 한다면 이 클래스들의 공통적인 필드나 메소드를 추출해서 선언한 클래스를 '추상 클래스'라고 한다. 쉽게 말하면, 추상 클래스는 실체 클래스의 부모 역할을 한다. 예를 들어 Bird, Insect, Fish와 같은 실체 클래스에서 공통되는 필드나 메소드를 따로 선언한 Animal 클래스를 만들 수 있고, 이것을 상속한 실체 클래스를 만들 수 있다. 추상 클래스는 실체 클래스의 공통되는 필드나 메소드를 추출해서 만들었기 때문에 new .. 2023. 8. 23.