목록전체 글 (76)
코딜기
Redirect VS Forward (JSP 환경)Redirect : 클라이언트가 다른 URL로 이동하며, 새로운 Request-Response 사이클이 시작됩니다. 따라서 이전 Request와 Response는 유지되지 않습니다.고객이 123번으로 상담원에게 전화한다.상담원은 고객에게 “해당 문의는 124번으로 다시 문의해 달라”라고 안내한다.고객은 124번으로 다시 문의하여 문제를 해결한다.Forward : 서버 내에서 다른 페이지로 이동하며, 같은 Request-Response 사이클을 유지합니다. 이전 Request와 Response 데이터는 그대로 전달됩니다.고객이 123번으로 상담원에게 전화한다.상담원이 문의 사항을 다른 상담원에게 넘겨서 해결 방법을 찾는다.다른 상담원은 고객에게 답변을 제공..
DNS(Domain Name System)란?웹사이트의 서버 주소는 IP 주소(예: 53.201.33.1)로 이루어져 있습니다.이러한 숫자 조합의 IP 주소는 사용자가 기억하기 어렵다는 단점이 있습니다.DNS는 숫자로 된 IP 주소를 기억하기 쉬운 도메인 이름(예: www.tistory.com)으로 변환해 주는 시스템입니다.사용자가 도메인 이름을 입력하면, DNS가 해당 도메인을 IP 주소로 변환해 웹사이트에 접속할 수 있도록 도와줍니다.도메인 이름 : 컴퓨터나 네트워크를 식별하기 위해 붙여진 이름으로, 예를 들어 tistory.com이 도메인 이름입니다.호스트 이름(서버 이름) : www는 도메인 내에서 특정 서버를 가리킵니다. 예를 들어, www.tistory.com에서 www는 특정 웹 서버를 나타..
Basic Knowledge클라이언트 (Client) : 데이터를 요청하는 컴퓨터서버 (Server) : 데이터를 응답해 주는 컴퓨터lP (Internet Protocol (Address)) : 컴퓨터를 구분하는 주소 체계로, 패킷이 목적지에 도착할 수 있도록 경로를 지정TCP (Transmission Control Protocol) : 데이터 전송의 신뢰성을 보장하는 프로토콜로, 데이터가 손실 없이 도착하도록 하고, 순서가 어긋나지 않게 보장패킷 (Packet) : 인터넷에서 전송되는 데이터의 단위로, 발신자와 수신자 IP가 포함되어 있음IP의 한계1. 비연결성패킷을 받을 대상이 없거나 서비스가 불능인 상태에서도 패킷을 전송하는 것을 의미합니다.2. 비신뢰성패킷이 중간에 사라지거나 패킷의 순서가 보장되..
인터페이스 VS 추상 클래스1. 인터페이스는 추상 클래스보다 더 추상화된 개념입니다.추상 클래스는 추상 메서드와 일반 메서드를 모두 가질 수 있지만, 인터페이스는 추상 메서드와 상수 필드만을 가질 수 있습니다.인터페이스는 다중 상속이 가능하므로, 여러 개의 인터페이스를 동시에 구현할 수 있습니다.2. 인터페이스는 동일한 구현 및 동작을 강제하는 데 초점이 맞춰져 있습니다.인터페이스를 구현하는 클래스는 반드시 추상 메서드를 구현해야 하고, 이를 통해 다형성과 유연성을 제공합니다. 인터페이스는 주로 다형성과 유연성을 제공하는 데 사용되고, 추상 클래스는 코드의 재사용성과 확장성을 고려할 때 사용됩니다.추상 클래스는 상속이 기본 베이스이며, 개념의 확장이 주목적입니다.반면, 인터페이스는 객체들에게 동일한 메서..
인터페이스 (Interface)란?인터페이스는 구현하고자 하는 클래스에 동일한 목적 아래 동일한 기능을 수행하도록 강제하는 틀의 역할을 합니다.자바의 다형성을 극대화하여 개발 코드의 유지보수성을 높이고, 수정을 최소화하는 역할을 합니다.인터페이스 사용public interface Animal { //int i; (x) //public Animal() {} (x) public static final name = "Animal"; void move();}public interface Mammals { void feeding();}public interface Bird extends Animal { void fly();}인터페이스는 추상 메서드만 가질 수 있으며, 객체를 생성..
추상 메서드(Abstract Method)란?메서드 선언만 되어 있고, 메서드의 바디(중괄호 부분)가 없는 아직 완성되지 않은 메서드를 추상 메서드라고 합니다.형태만 구축되어 있고, 구체적인 구현은 없는 메서드입니다.추상 메서드는 반드시 추상 클래스 안에서만 선언할 수 있습니다.추상 클래스(Abstract Class)란?추상 메서드를 하나 이상 포함한 클래스를 추상 클래스라고 부릅니다.미완성 메서드를 포함하고 있기 때문에 객체를 직접 생성할 수 없습니다.추상 클래스를 상속받은 자식 클래스가 추상 메서드를 구현해야만 객체를 생성할 수 있습니다.부모가 완성하지 못한 메서드를 자식 클래스가 반드시 완성해야 부모와 자식의 객체가 모두 생성될 수 있습니다.추상 클래스 및 추상 메서드 사용public abstrac..
instanceof란?instanceof는 객체가 특정 클래스의 인스턴스인지 확인할 때 사용됩니다.다형성이 적용된 경우 부모 타입의 변수에 저장된 객체가 실제로 어떤 타입인지 확인하는 데 유용합니다.instanceof 사용public void sayHello(Animal ani) { if(ani instanceof Dog) { System.out.println("강아지"); } else if(ani instanceof Cat) { System.out.println("고양이"); } else if(ani instanceof Duck) { System.out.println("오리"); }}sayHello 메서드는 다형성이 적용된 매개변수를 받습니다...
다형성의 타입 캐스팅 (Type Casting)다형성은 객체 관리를 쉽게 해 주지만, 주의할 점도 있습니다.부모 타입으로는 자식 클래스의 모든 정보를 확인할 수 없다는 한계가 있습니다.객체 생성과 배열 사용에서의 다형성부모 타입 변수에 자식 객체를 생성했습니다.public class Parent { public int n1; void method1() {} void method2() {}}public class Child extends Parent { public int n2; @override void method2() {} void method3() {}}아래 코드를 보면 부모 클래스가 물려준 필드와 메서드는 정상적으로 호출되며, 자식이 오버라이드한 메서드도 사용..
다형성(Polymorphism)이란?다형성이란 하나의 객체가 여러 가지 타입으로 사용되는 것을 의미합니다.부모 타입 변수에 어떠한 자식 객체든 들어갈 수 있습니다.다형성은 상속을 전제 조건으로 합니다.객체 생성과 배열 사용에서의 다형성아래 그림을 보면 Animal이라는 부모 클래스가 있고, Dog, Cat, Duck 클래스가 존재합니다.모든 자식 클래스는 부모가 물려준 sound()라는 메서드를 본인의 클래스에 맞게 재정의(override)해서 사용하고 있습니다.위 사진을 참고하였을 때, 다형성이 적용되지 않았을 때는 아래와 같이 참조 변수의 타입을 객체에 맞게 작성해 주어야 합니다.Dog dog = new Dog();Cat cat = new Cat();Duck duck = new Duck();또한 각자..
super란?super 키워드는 상속받은 부모 객체를 참조할 때 사용하는 키워드입니다.'.'을 통해 부모 클래스의 필드나 메서드에 접근할 수 있으며, super()를 사용하여 부모 클래스의 생성자를 호출하는 것도 가능합니다.super 사용 (메서드)사람의 정보를 출력하는 간단한 Person 클래스(부모 클래스)를 만들어줍니다.public class Person { String name; int age; String info() { return "이름: " + name + ", 나이: " + age; }}Student 클래스(자식 클래스)를 만들고, Person 클래스를 상속받습니다.부모가 물려주는 메서드인 info()에 Student가 가지는 고유한 속성인 student..