Banner

My Tech Blog (정보처리기사)

오늘의 명언
· Java
변수는 오버라이딩X, 메서드는 오버라이딩Oclass Parent { String name = "Parent"; void printNames() { System.out.println(name); }}class Child extends Parent { String name = "Child"; void printNames() { System.out.println(name); }}public class Main { public static void main(String[] args) { Child c = new Child(); c.printNames(); // (1) Parent p = ne..
1. 정적 바인딩 vs 동적 바인딩 – "자바에서 진짜 실행되는 건 뭘까?"자바에서 객체를 다룰 때, 우리가 쓰는 메서드는 언제, 어떤 기준으로 결정되는 걸까?부모 타입 변수로 자식 객체를 참조했을 때, 과연 호출되는 메서드는 누구 걸까?이때 나오는 개념이 바로 "정적 바인딩"과 "동적 바인딩"이다. 1-1. 바인딩이란?바인딩(binding)은 쉽게 말해"이 메서드 호출은 실제로 어떤 코드와 연결되어 있는가?" 를 말한다.이 연결이 컴파일할 때 정해지면 → 정적 바인딩,프로그램 실행 중에 정해지면 → 동적 바인딩이라고 한다. 1-2. 정적 바인딩 (Static Binding)컴파일할 때 호출할 메서드가 결정됨주로 static, final, private 메서드에서 발생함변수나 메서드 이름만 보고 컴파일러..
· Java
this는 자바(Java)를 포함한 여러 객체지향 언어에서 객체 자기 자신을 가리키는 키워드로 알려져 있다. this는 현재 객체의 참조(reference)로서 지금 실행되고 있는 메서드를 소유하고 있는 인스턴스를 가리킨다. setter 메서드안에서 가장 쉽게 this의 활용법을 확인할 수 있다. public class Person { private String name; public void setName(String name) { this.name = name; }}this.name → 객체의 멤버 변수 namename → 메서드의 매개변수만약에 this를 안 쓰면 어떻게 될까?public void setName(String name) { name = name; /..
1. 응집도 (Cohesion)모듈 내부에 서로 관련이 있는 요소들이 얼마나 잘 묶여 있는지를 나타낸다. 응집도가 높다는 것은 모듈 내부의 요소들이 서로 잘 연관되어 있어 특정 기능을 수행하는데 집중되어 있다는 뜻이다. 하나의 모듈이 하나의 책임 또는 목적을 얼마나 잘 수행하느냐, '모듈 내부의 통일성'을 보는 개념2. 결합도 (Coupling)두 모듈 간에 서로 얼마나 의존적인지를 나타낸다. 결합도가 낮다는 것은 모듈 간의 의존성이 낮아 각 모듈이 독립적으로 동작할 수 있다는 것을 의미한다. 따라서 시스템의 유연성이 높아지고, 한 모듈의 변경이 다른 모듈에 미치는 영향이 줄어든다. 응집도는 높을수록 좋다. → 한 모듈은 한 가지 일만!결합도는 낮출수록 좋다. → 모듈 간 의존 최소화! 3. 응집도의 ..
문제IP 주소가 192.168.35.10, 서브넷 255.255.252.0인 PC에서 브로드캐스팅으로 다른 IP로 정보를 전달한다고 할 때 수신할 수 있는 알맞는 IP를 보기에서 골라 모두 작성하시오. [25년 정보처리기사 1차 실기] [보기]ㄱ. 192.168.34.1 ㄴ. 192.168.32.19 ㄷ. 192.168.35.200 ㄹ. 192.168.33.138 ㅁ. 192.168.35.50 같은 네트워크 대역에 속한 IP 주소들을 계산하는 문제이다.▶ 네트워크 주소 = IP와 서브넷마스크를 AND 연산 하면 됨▶ 브로드캐스트 주소 = 네트워크주소 + 2^h - 1 1. 네트워크 주소 구하기IP: 192.168.35.10 → (이진) 11000000.10101000.00100011.00001010서..
ARP는 네트워크상에서 IP 주소를 MAC 주소로 변환하는 프로토콜이고, RARP는 MAC 주소를 IP 주소로 변환하는 프로토콜이다. 하지만 요즘은 RARP보다 DHCP를 훨씬 더 많이 사용한다. RARP는 IP 주소만 알려주지만, DHCP는 IP 주소뿐 아니라 서브넷, 게이트웨이, DNS 등도 함께 자동으로 설정해 주기 때문이다. 1. ARP (Address Resolution Protocol)내 컴퓨터가 어떤 IP 주소로 데이터를 보내고 싶다. (예: 192.168.0.1)그런데 상대방의 MAC 주소를 모르기 때문에, 네트워크에 “이 IP 주소를 가진 사람, MAC 주소 뭐야?”라고 ARP 요청 브로드캐스트를 보낸다.그 IP 주소를 가진 컴퓨터가 “내 MAC 주소는 이거야!”라고 응답한다.내 컴퓨터는..
포인터 문제1#include int main() { int code[] = {10, 20, 30}; int *p = code; printf("%d \n", *p++); // 10 출력 후 포인터 p가 다음 위치로 이동 printf("%d \n", *p); // 20 출력 printf("%d \n", (*p)++); // 20 출력 후 p가 가리키는 값 21로 증가 printf("%d \n", *p++); // 21 출력 후 포인터 p가 다음 위치로 이동 (30 가리킴) return 0;}int *p : int 타입 값을 가리키는 포인터 선언code : 배열 이름 (code[0]의 주소를 뜻함)p = code : 포인터 p가 code[0]의 주소를 저장..
전역변수#include int main() { int x = 10, y = 10; if (x > 5) { y = 20; printf("x: %d, y: %d\n", x, y); } if (x > 9) { x = 20; printf("x: %d, y: %d\n", x, y); } if (x > 10) { x = 10; y = 20; printf("x: %d, y: %d\n", x, y); } printf("x: %d, y: %d\n", x, y); return 0;}x: 10, y: 20x: 20, y: 20 x: 10, y: 20 x: 10, y: 20 지역변수#incl..
상단으로