본문 바로가기

✨ Java57

자바(JAVA) - this , this() , super , super() 각각 차이점 this - 현재 객체를 가리키는 참조 변수로, 해당 객체의 인스턴스 멤버(필드, 메서드)에 접근할 때 사용한다. 이렇게 자바에서는 this 참조 변수를 사용해 인스턴스 변수에 접근가능하다. this 참조 변수를 사용할 수 있는 영역은 인스턴스 메소드 뿐이고, 클래스 메소드에서는 사용할 수 없다. *static 영역에서도 사용 불가 모든 인스턴스 메소드에는 this 참조 변수가 숨겨진 지역 변수로 존재하고 있다. this() - 같은 클래스의 다른 생성자를 호출하는데 사용한다. 생성자 내부에서만 사용할 수 있으며, 생성자 내에서 다른 생성자를 호출할 때, this()를 사용해 해당 클래스의 다른 생성자를 명시적으로 호출할 수 있다. 이는 생성자 오버로딩 시 코드의 중복을 피하고 재사용성을 높이는데 도움된.. 2023. 7. 18.
자바(JAVA) - Exception 다양한 예외 종류 ArrayIndexOutOfBoundsException 초기에 정해진 배열의 크기보다 더 많은 양의 데이터를 넣고자 할 때 주로 발생하는 에러이다. m의 배열은 5까지인데, 마지막 i는 6번째의 배열에 값을 넣는것이므로, 오류가 나는 것이다. 초기에 정해진 배열의 크기보다 더 많은 양의 데이터를 넣을때 발생하는 에러가 ArrayIndexOutOfBounds에러이다. *finally는 에러가 발생하든 안하든 반드시 실행시킨다. ArithmeticException 0으로 나누는 등, 잘못된 산술 연산을 시도할 때 발생하는 에러이다. (0으로 나누는경우 정수 0으로 나누는 경우 등) 왼쪽 사진에 보면 data가 0인데, 0으로 나누려고해서 발생하는 오류이고, 오른쪽 사진 또한 (int)Math.random().. 2023. 7. 18.
자바(JAVA) - 다형성(Polymorhpism) -1 다형성이란? 하나의 객체가 여러가지 타입을 가질 수 있는 것을 의미한다. 자바에서는 이러한 다형성을 부모클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 구현한다. 다형성은 상속, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나이다. How 오버라이딩 오버로딩 형변환 오버라이딩(Overriding) - 주로 클래스나 인터페이스를 상속받아 부모 클래스에 있던 함수를 재정의해서 사용하는 것이다. 오버로딩(Overloding) - 같은 함수라도 인수만 다르면 얼마든지 정의하고 사용할 수 있다. 타입변환 - 부모 클래스 변수에 자식객체 타입을 대입하면, 자동으로 타입 변환이 일어나는 것이다. Animal Class HTML 삽입 미리보기할 수 없는 소스 Dog Cl.. 2023. 7. 17.
자바(JAVA) - 전략 패턴(Strategy Pattern) 전략 패턴 객체의 행위를 동적으로 바꾸고 싶은 경우 직접 행위를 수정하지 않고, 전략을 바꿔주기만 함으로써 행위를 유연하게 확장하는 방법. HTML 삽입 미리보기할 수 없는 소스 Character 클래스가 Attack 인터페이스를 통해 공격 전략을 갖고있고, changeWeapon 메서드를 통해 동적으로 공격 방식을 변경할 수 있다. 전략패턴의 핵심은 클라이언트(Character 클래스)와 전략(Attack 인터페이스와 이를 구현한 Gun, Sord 클래스)를 분리하여 클라이언트가 변경 없이도 새로운 전략을 추가하거나 교체할 수 있도록 하는 것이다. 장점 기존 컨텍스트를 변경하지 않고, 새로운 전략을 도입함으로써 "개방-폐쇄 원칙"을 만족한다. 유연성과 확장성이 증가 재사용성 증가 개방-폐쇄 원칙(Ope.. 2023. 7. 13.