프로그래밍 6

Java 상속에서 생성자

이 글에서는 Java 클래스 상속이 있을 때 생성자의 동작에 대해 알아볼 것이다. 정보처리기사 실기 기출문제와 그에 대한 해설 영상을 참조하였다. 1. 기본) 다음과 같이 디폴트 생성자, 인풋을 받는 생성자가 있는 클래스 Parent를 Child가 상속할 때 main의 출력 결과를 확인한다.class Parent{ // Parent에만 변수 정의 int age=44; String name="Maura"; // 디폴트 생성자 public Parent(){ System.out.println("P default constructor."); } // 인풋 받는 생성자 public Parent(int age, String na..

Java의 static 변수

Static하지 않은 변수Java에서 class 내 static하지 않은 변수나 메서들은 각각의 인스턴스와 관련이 있으며 인스턴스를 통해서만 액세스를 할 수 있다. 예시로 다음과 같이 Fish라는 물고기 클래스를 정의하였다. 물고기한테는 이름 변수와 swim() 메서드가 있다.class Fish{ String name; public void swim(){ System.out.println(name+" swims!"); }} 그 후 main에서 nemo라는 인스턴스를 생성하여 swim()을 호출하면 nemo swims!가 출력된다.class Main { public static void main(String[] args) { Fish nemo = new Fi..

PHP로 Vigenère 치환을 하는 웹 애플리케이션 만들기

0. 개요이 글에서는 그림과 같이 Vigenère 치환을 하는 웹 애플리케이션을 만들어 볼 것이다. 암호문을 같은 키로 복호화하였을 시 원문이 나오는 것으로 치환의 정확성을 확인할 수 있다. 사용한 프로그래밍 언어는 HTML, CSS, PHP다.1. Vigenère 치환Caesar 치환Vigenère 치환을 이해하려면 먼저 Caeser 치환을 이해해야 한다. Caesar 치환은 영문 문자열 원문을 단 한 글자로 키로 암호화하는 기법이다. 대소문자 구분은 없기 때문에 원문, 키가 모두 소문자인 것으로 간주했다. 각 키 값은 아래 표와 같이 숫자를 나타낸다.문자숫자문자숫자a0n13b1o14c2p15d3q16e4r17f5s18g6t19h7u20i8v21j9w22k10x23l11y24m12z25 a~z의 아스키..

프로그래밍/PHP 2025.03.17

대각선 모양으로 별 출력하는 PHP 코드 작성하기

개요PHP로 이중 for문의 대표적인 예제인 대각선 모양 별 찍기를 하는 법을 알아보자.  위와 같이 1행에는 별 1개, 2행에는 별 2개,..., n행에는 별 n개를 출력하는 코드를 써 볼 것이다. 수정 (20250312): '개요' 소제목 추가1. 별 n개 출력하기일단 변수 n에 대해 별 n개를 출력하는 코드를 생각해 본다. 그런 코드는 다음과 같다. for($i=1; $i i를 1에서부터 n까지 1씩 증가시키는데, 그때마다 별 한개를 찍는다. n에 3을 대입한 뒤 프로그램을 실행하면 별 세 개가 찍히는 것을 확인할 수 있다. (프로그램 실행은 이 사이트에서 했다.)2. 대각선 모양으로 별 출력하기: 5줄 위 그림을 관찰하면 n을 1에서 5까지 증가시키며 별을 n개 출력했다는 것을 알 수 있다. 이를..

프로그래밍/PHP 2025.03.01

PHP로 네트워크 주소 구하기

IP 주소와 서브넷마스크로 네트워크 주소를 구하는 간단한 PHP 프로그램을 작성해 보았다. IP 주소 네 옥텟과 서브넷마스크 네 옥텟을 입력한 후 확인 버튼을 누르면 네트워크 주소가 출력된다. HTML 코드는 다음과 같다. IP : ... 서브넷마스크 : ...  Form을 이용해 IP 주소와 서브넷마스크 인풋을 받는다. PHP 코드는 다음과 같다. IP 주소와 서브넷마스크를 & 연산 시켜 네트워크 주소를 구한다.

프로그래밍/PHP 2025.01.27

파이썬으로 네트워크 ID, 브로드캐스트 주소, 호스트 수 구하기 (Subnet masking) (20250109 7일차)

IP와 서브넷마스크 기반으로 네트워크 ID와 브로드캐스트 주소, 해당 네트워크의 호스트 수를 알려주는 파이썬 프로그램을 만들어 보았다. 최종 결과물은 다음이다.def ip_to_int(ip_s): ''' Input: IP 문자열. Output: IP에 해당하는 정수. ''' octets = ip_s.split(".") # 옥텟들을 나누어 리스트에 저장 zeros = 24 # 붙일 0의 수 ip= 0 for o in octets: # 옥텟마다... ip += int(o)>8 # n의 마..