목록전체 글 (33)
개발 한번 해블로그

1. DNS란? - Domain Name System으로 사람이 읽을 수 있는 도메인 이름(예: www.naver.com)을 머신이 읽을 수 있는 IP 주소(예: 223.130.195.95)로 변환해주는 것 ♣ 여기서 도메인이란 ip에 이름을 부여 도메인 주소 IP 주소 daum.net 203.133.167.81 naver.com 223.130.195.95 google.com 142.250.207.14 2. DNS 동작 원리 1) 웹 브라우저에 "www.naver.com"을 입력하면 면 PC에 저장된 Local DNS 서버에 IP 주소 요청 2) Local DNS에 "www.naver.com"이라는 IP 주소가 있는지 없는지 확인 더보기 Local DNS는 인터넷을 사용하기 위해 IP를 할당해주는 통신사..

MVC 기반 온라인 쇼핑 카트 구현하기 과제를 거의 8일 정도 진행했다. 실강 진도가 맞지 않아서 GPT를 채찍질하며 만든 결과물.. (근데 갑자기 제출하기 하루 전,, 수업 끝나기 30분 전에 요구사항을 다 안 해도 된다뇨,,,,,) 무튼 제품 리스트 불러오는 거는 실강 때 한 부분이랑 거의 똑같이 따라 해서 큰 어려움은 없었다. 하지만 ~~^^ 나는 여전히 코드를 어떻게 짜야하는지 몰라서 GPT한테 "나 이런 기능 필요한데 이런 형식으로 코드 짜줄래?" 무한 반복.. GPT가 완벽하게 코드를 짜주면 좋겠지만 사실상 그게 쉽지 않음 ㅎㅠ,, 그전에는 GPT한테 해줘! 했다면 이제는 에러가 나면 왜 에러가 났는지 한번 뜯어도 보고 생각이라는 걸 하면서 코드를 좀 읽을 수 있는 능력이 오르지 않았나 싶다...

코드를 짜다보면 객체를 복사해야하는 경우가 있다. 하지만 여기서 복사를 잘못 사용하면 원하는 결과값이 나오지 않을 수도 있으니 주의해야한다. 1. 얕은 복사 vs 깊은 복사 단순하게 말하자면 객체를 복사하는 두 가지의 다른 방법을 의미하는 것이다. 1) 얕은 복사(Shallow copy) : 주소값을 복사하기 때문에 참조하고 있는 실제 값은 동일 2) 깊은 복사(Deep copy) : 실제 값을 메모리 공간(힙 영역)에 복사하기 때문에 참조하고 있는 실제 값이 상이 나 같은 초보를 넘어선 입문자같은 사람들에게는 이렇게 말해도 사실 잘 모른다 ^^.. 쉬운 예시로 설명하자면 1) 얕은 복사 매트릭스 영화에서 스미스 아저씨 아시는 분.. 스미스 아저씨는 자신과 똑같은 스미스 복제들을 만듦. 근데 여기서 스미..

Java는 끝내고 Spring으로 들어왔다.. 자바는 이해라도 갔다면 스프링은 정말 무슨 말인지 이해가 되지 않는다.. 일단 Spring은 Java 기반의 프레임워크로 더 효과적으로 애플리케이션을 개발하고 유지보수할 수 있도록 도와주는 것이다. 쉽게 말하자면 집을 짓기 위해 필요한 공구들이 있다면, 프로그램을 만들 때도 특별한 도구들이 필요한데, 그 도구 중 하나가 Spring이다. Spring은 프로그램을 만들 때 더 편하게 만들 수 있도록 도와주고, 프로그램을 잘 정리하고 유지보수하기 쉽게 만들어줘서 더 효율적으로 업무할 수 있다.(GPT 선생님의 말씀) 내가 아는 스프링은,, 봄,, LCK 스프링 시즌,, 용수철,, 스프링필드 지역,,뿐,,, 1. 콩? 빈이란? JavaBeans : 재사용 가능한 ..

새해가 밝았습니다 :) 다들 새해 복 많이 받으십숑 ૮꒰ ྀི〃´꒳`〃꒱ა 이번에는 토이 프젝 관련 얘기를 해보려합니다... 토이 프로젝트는 개인 혹은 소규모 그룹이 남는 시간을 쪼개서 단기 프로젝트를 개발하는 것을 의미하는데,,, 상업적인 것 보다 개인의 능력 향상, 새로운 아이디어나 기술 개발 등을 위해 시작되는 것이 일.반.적입니다. 하지만 저에겐 토이 프로젝트가 아니라 그냥 대형 프로젝트 느낌이 낭낭하죠.. 다른 조원분들은 혼자서도 할 수 있을 거 같다라는 아주 easy한 프로젝트라고 합니다 ^^,,,, 토이 프로젝트 이전에도 영화, 계산기 관련 프로젝트를 진행했었는데 그 때는 각자 만들어서 어떻게 구현했는지 공유를 했다면 이번에는 실제로 기능별로 역할 분담을 해서 프로젝트를 진행했다. 토이 프로..

1. Object 클래스를 이용하여 객체 생성하기 어떤 클래스를 한 개를 만들면 기본적으로 생략된 코드 1) default package : import java.lang*; 2) 최상위 클래스 : java.lang.Object 3) default 생성자 : public A(){ super();} - 클래스 이름과 메서드 동일 - return 타입 쓰면 안됨 - 생성자안에 super(); 생략 2. Object 클래스를 활용한 다형성 적용 1) 다형성인수 public class ObjectPoly_04 { public static void main(String[] args) { A_04 a=new A_04(); display(a); B_04 b=new B_04(); display(b); } private..

1. 다형성을 보장한다는 의미는 무엇인가? 상위클래스가 명령을 내리면 하위클래스가 반드시 동작(반응)을 해야 한다. 오버라이드를 하지 않으면 다형성이 보장 안된다 다형성을 보장하려면? 다형성 전제 조건(상속, 오버라이드, 업캐스팅, 동적 바인딩) 반드시 재정의가 되어야 한다 상위클래스를 추상 클래스로 만든다 추상 클래스는 메서드의 구현부가 없는 것, 반드시 하위 클래스가 완전하게 오버라이드 public abstract class Animal02 { public abstract void eat(); //추상메서드(불완전 메서드) : 메서드의 구현부가 없음 public class Dog02 extends Animal02 { //추상메서드 // 재정의를 안함 -> 에러 // 재정의를 해야함 -> 바디를 만들어..

1. 다형성이란 무엇인가? - 다형성(message polymorphism) : 상위클래스가 동일한 메시지로 하위클래스를 서로 다르게 동작시키는 객체지향 이론 - 즉, 예시로 부모가 eat이라고 dog/cat 자식에게 메시지를 보내면 자식 클래스가 서로 다르게 개/고양이처럼 먹다라고 출력 - 다형성이 실행되려면 상위 클래스가 명령을 내려야하기 때문에 업캐스팅을 해야 함 ex) Animal x=new Dog(); x.eat(); // 개처럼 먹다 -> 확장, 유지보수 쉬움 2. 다형성 이론을 설명하기 위한 전제조건 - 상속 관계 - override(재정의) - Upcasting(업캐스팅) - 동적 바인딩 import fc.java.model.Animal02; import fc.java.model.Cat02..